19 {
20 int nwrite = 10;
21 std::string fname = "file:test.xml";
22 if ( argc > 1 ) fname =
argv[1];
23 if ( argc > 2 ) nwrite = ::atol( argv[2] );
26 std::vector<std::string> fids;
29 for ( size_t n = fids.size(), i = n; i < n + nwrite; ++i ) {
30 std::ostringstream txt;
31 if ( 0 == ( ( i - n ) % 10000 ) ) std::cout << i -
n << std::endl;
32 std::string fid =
c.createFID();
34 txt << "PFN1_Test_" << i << ".dat";
35 c.registerPFN( fid, txt.str(),
"ROOT" );
36 c.registerPFN( fid, txt.str(),
"ROOT" );
37 txt.str( "" );
38 txt << "PFN2_Test_" << i << ".dat";
39 c.registerPFN( fid, txt.str(),
"ROOT" );
40 txt.str( "" );
41 txt << "PFN3_Test_" << i << ".dat";
42 c.registerPFN( fid, txt.str(),
"ROOT" );
43 txt.str( "" );
44 txt << "lfn1_Test_" << i << ".dat";
45 c.registerLFN( fid, txt.str() );
46 txt.str( "" );
47 txt << "lfn2_Test_" << i << ".dat";
48 c.registerLFN( fid, txt.str() );
49 txt.str( "" );
50 txt << "lfn3_Test_" << i << ".dat";
51 c.registerLFN( fid, txt.str() );
52 c.setMetaData( fid,
"Name1",
"Value1" );
53 c.setMetaData( fid,
"Name1",
"Value111" );
54 c.setMetaData( fid,
"Name2",
"Value2" );
55 c.setMetaData( fid,
"Name3",
"Value3" );
56 }
58 std::cout <<
"Used " <<
end <<
" seconds."
59 << " corresponding to " << float( end ) / float( nwrite ) << " entries/second." << std::endl;
63 std::cout << "Used " << saved << " seconds."
64 << " corresponding to " << float( saved ) / float( nwrite ) << " entries/second." << std::endl;
65 } else {
66 std::cout << "Error: Catalog is not dirty after inserting records." << std::endl;
67 return 1;
68 }
69 return 0;
70}
This class constitutes the core of the XML based FileCatalog API for POOL.