24 void SQLiteTimeVersionOfRoot(){
26 TSQLServer *db = TSQLServer::Connect(
"sqlite://root_download_stats.sqlite",
"",
"");
28 const char *minTime =
"SELECT min(Time) FROM accesslog;";
29 TSQLResult *minTimeRes = db->Query(minTime);
31 std::string strMinTimeField = minTimeRes->Next()->GetField(0);
32 TDatime minTimeFormat(strMinTimeField.c_str());
35 TH1F *hTime =
new TH1F(
"hTime",
"Duration of ROOT dependency over version 6.14", 10, minTimeFormat.Convert(), now.Convert());
37 const char *time =
"SELECT Time, Version FROM accesslog;";
38 TSQLResult *timeRes = db->Query(time);
40 while (TSQLRow *row = timeRes->Next()) {
41 TDatime rowTime(row->GetField(0));
42 TString rowVersion(row->GetField(1));
43 TString shortVersion(rowVersion(0,4));
44 if ( shortVersion ==
"6.14" ) {
45 hTime->Fill(rowTime.Convert());
50 TCanvas *timeHistogram =
new TCanvas();
52 gStyle->SetTimeOffset(0);
53 hTime->GetXaxis()->SetTimeDisplay(1);
54 hTime->GetXaxis()->SetLabelSize(0.02);
55 hTime->GetXaxis()->SetNdivisions(512, kFALSE);
56 hTime->GetXaxis()->SetTimeFormat(
"%Y-%m-%d");