Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TSQLiteServer.h
Go to the documentation of this file.
1 // @(#)root/sqlite:$Id$
2 // Author: o.freyermuth <o.f@cern.ch>, 01/06/2013
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2013, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TSQLiteServer
13 #define ROOT_TSQLiteServer
14 
15 #include "TSQLServer.h"
16 
17 #if !defined(__CINT__)
18 #include <sqlite3.h>
19 #else
20 struct sqlite3;
21 #endif
22 
23 
24 
25 class TSQLiteServer : public TSQLServer {
26 
27  private:
28  TString fSrvInfo; // Server info string
29  sqlite3 *fSQLite; // connection to SQLite DB
30 
31  public:
32  TSQLiteServer(const char *db, const char *uid=NULL, const char *pw=NULL);
33  ~TSQLiteServer();
34 
35  void Close(Option_t *opt="");
36  Bool_t StartTransaction();
37  TSQLResult *Query(const char *sql);
38  Bool_t Exec(const char *sql);
39  TSQLStatement *Statement(const char *sql, Int_t = 100);
40  Bool_t HasStatement() const;
41  Int_t SelectDataBase(const char *dbname);
42  TSQLResult *GetDataBases(const char *wild = 0);
43  TSQLResult *GetTables(const char *dbname, const char *wild = 0);
44  TSQLResult *GetColumns(const char *dbname, const char *table, const char *wild = 0);
45  TSQLTableInfo *GetTableInfo(const char* tablename);
46  Int_t CreateDataBase(const char *dbname);
47  Int_t DropDataBase(const char *dbname);
48  Int_t Reload();
49  Int_t Shutdown();
50  const char *ServerInfo();
51 
52  ClassDef(TSQLiteServer,0); // Connection to SQLite DB
53 };
54 
55 #endif