Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
SQLiteTimeVersionOfRoot.C File Reference

Detailed Description

View in nbviewer Open in SWAN
This tutorial demonstrates how TSQLServer can be used to create a connection with a SQlite3 database.

It accesses the Sqlite data base. Download from https://root.cern/files/root_download_stats.sqlite In order to demonstrate the dependency over ROOT version 6.14, this tutorial uses the TSQLResult function which allows to extract the minimum time stored in the SQlite3 database. The next step is to create a TH1F Histogram, which will be filled with the values stored in two different columns from the database, the "Time" and "Version" columns. This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com.

#include <TSQLiteServer.h>
#include <TSQLiteResult.h>
#include <TSQLRow.h>
#include <TString.h>
TSQLServer *db = TSQLServer::Connect("sqlite://root_download_stats.sqlite", "", "");
const char *minTime = "SELECT min(Time) FROM accesslog;";
std::string strMinTimeField = minTimeRes->Next()->GetField(0);
TH1F *hTime = new TH1F("hTime", "Duration of ROOT dependency over version 6.14", 10, minTimeFormat.Convert(), now.Convert());
const char *time = "SELECT Time, Version FROM accesslog;";
TSQLResult *timeRes = db->Query(time);
while (TSQLRow *row = timeRes->Next()) {
TDatime rowTime(row->GetField(0));
TString rowVersion(row->GetField(1));
if ( shortVersion == "6.14" ) {
hTime->Fill(rowTime.Convert());
}
delete row;
}
hTime->GetXaxis()->SetTimeDisplay(1);
hTime->GetXaxis()->SetLabelSize(0.02);
hTime->GetXaxis()->SetNdivisions(512, kFALSE);
hTime->GetXaxis()->SetTimeFormat("%Y-%m-%d");
hTime->Draw();
}
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
R__EXTERN TStyle * gStyle
Definition TStyle.h:436
The Canvas class.
Definition TCanvas.h:23
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
Definition TDatime.h:37
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:622
static TSQLServer * Connect(const char *db, const char *uid, const char *pw)
The db should be of the form: <dbms>://<host>[:<port>][/<database>], e.g.: mysql://pcroot....
Basic string class.
Definition TString.h:139
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition TStyle.cxx:1913
Author
Alexandra-Maria Dobrescu 08/2018

Definition in file SQLiteTimeVersionOfRoot.C.