ROOT logo
void sqlfilldb(int nfiles = 1000)
{
   // Fill run catalog with nfiles entries
   
   const char *ins = "INSERT INTO runcatalog VALUES ('%s', %d,"
      " %d, %d, %d, %10.2f, '%s', '%s', '1997-01-15 20:16:28',"
      " '1999-01-15 20:16:28', '%s', '%s')";
   
   char sql[4096];
   char dataset[32];
   char rawfile[128];
   int  tag, evt = 0;
   
   // open connection to MySQL server on localhost
   TSQLServer *db = TSQLServer::Connect("mysql://localhost/test", "nobody", "");
   TSQLResult *res;
   
   // first clean table of old entries
   res = db->Query("DELETE FROM runcatalog");
   delete res;

   // start timer
   TStopwatch timer;
   timer.Start();
   
   // fill run catalog
   for (int i = 0; i < nfiles; i++) {
      sprintf(dataset, "testrun_%d", i);
      sprintf(rawfile, "/v1/data/lead/test/run_%d.root", i);
      tag = int(gRandom->Rndm()*10.);
      sprintf(sql, ins, dataset, i, evt, evt+10000, tag, 25.5, "test", "lead",
              rawfile, "test run dummy data");
      evt += 10000;
      res = db->Query(sql);
      delete res;
      //printf("%s\n", sql);
   }
   
   delete db;

   // stop timer and print results
   timer.Stop();
   Double_t rtime = timer.RealTime();
   Double_t ctime = timer.CpuTime();

   printf("\n%d files in run catalog\n", nfiles);
   printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime);
}
 sqlfilldb.C:1
 sqlfilldb.C:2
 sqlfilldb.C:3
 sqlfilldb.C:4
 sqlfilldb.C:5
 sqlfilldb.C:6
 sqlfilldb.C:7
 sqlfilldb.C:8
 sqlfilldb.C:9
 sqlfilldb.C:10
 sqlfilldb.C:11
 sqlfilldb.C:12
 sqlfilldb.C:13
 sqlfilldb.C:14
 sqlfilldb.C:15
 sqlfilldb.C:16
 sqlfilldb.C:17
 sqlfilldb.C:18
 sqlfilldb.C:19
 sqlfilldb.C:20
 sqlfilldb.C:21
 sqlfilldb.C:22
 sqlfilldb.C:23
 sqlfilldb.C:24
 sqlfilldb.C:25
 sqlfilldb.C:26
 sqlfilldb.C:27
 sqlfilldb.C:28
 sqlfilldb.C:29
 sqlfilldb.C:30
 sqlfilldb.C:31
 sqlfilldb.C:32
 sqlfilldb.C:33
 sqlfilldb.C:34
 sqlfilldb.C:35
 sqlfilldb.C:36
 sqlfilldb.C:37
 sqlfilldb.C:38
 sqlfilldb.C:39
 sqlfilldb.C:40
 sqlfilldb.C:41
 sqlfilldb.C:42
 sqlfilldb.C:43
 sqlfilldb.C:44
 sqlfilldb.C:45
 sqlfilldb.C:46
 sqlfilldb.C:47
 sqlfilldb.C:48
 sqlfilldb.C:49