ROOT  6.06/09
Reference Guide
TSQLClassInfo.h
Go to the documentation of this file.
1 // @(#)root/sql:$Id$
2 // Author: Sergey Linev 20/11/2005
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2005, 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_TSQLClassInfo
13 #define ROOT_TSQLClassInfo
14 
15 #ifndef ROOT_TObject
16 #include "TObject.h"
17 #endif
18 
19 #ifndef ROOT_TString
20 #include "TString.h"
21 #endif
22 
23 class TObjArray;
24 
25 class TSQLClassColumnInfo : public TObject {
26 
27 public:
29  TSQLClassColumnInfo(const char* name,
30  const char* sqlname,
31  const char* sqltype);
32  virtual ~TSQLClassColumnInfo();
33 
34  virtual const char* GetName() const { return fName.Data(); }
35  const char* GetSQLName() const { return fSQLName.Data(); }
36  const char* GetSQLType() const { return fSQLType.Data(); }
37 
38 protected:
42 
43  ClassDef(TSQLClassColumnInfo, 1); // Keeps information about single column in class table
44 };
45 
46 //_________________________________________________________________________________
47 
48 class TSQLClassInfo : public TObject {
49 public:
50  TSQLClassInfo();
51  TSQLClassInfo(Long64_t classid,
52  const char* classname,
53  Int_t version);
54  virtual ~TSQLClassInfo();
55 
56 
57  Long64_t GetClassId() const { return fClassId; }
58 
59  virtual const char* GetName() const { return fClassName.Data(); }
60  Int_t GetClassVersion() const { return fClassVersion; }
61 
62  void SetClassTableName(const char* name) { fClassTable = name; }
63  void SetRawTableName(const char* name) { fRawTable = name; }
64 
65  const char* GetClassTableName() const { return fClassTable.Data(); }
66  const char* GetRawTableName() const { return fRawTable.Data(); }
67 
68  void SetTableStatus(TObjArray* columns = 0, Bool_t israwtable = kFALSE);
69  void SetColumns(TObjArray* columns);
70  void SetRawExist(Bool_t on) { fRawtableExist = on; }
71 
72  Bool_t IsClassTableExist() const { return GetColumns()!=0; }
74 
75  TObjArray* GetColumns() const { return fColumns; }
76  Int_t FindColumn(const char* name, Bool_t sqlname = kFALSE);
77 
78 protected:
79 
80  TString fClassName; ///<! class name
81  Int_t fClassVersion; ///<! class version
82  Long64_t fClassId; ///<! sql class id
83  TString fClassTable; ///<! name of table with class data
84  TString fRawTable; ///<! name of table with raw data
85  TObjArray* fColumns; ///<! name and type of columns - array of TNamed
86  Bool_t fRawtableExist; ///<! indicate that raw table is exist
87 
88  ClassDef(TSQLClassInfo, 1); // Keeps the table information relevant for one class
89 };
90 
91 #endif
void SetClassTableName(const char *name)
Definition: TSQLClassInfo.h:62
An array of TObjects.
Definition: TObjArray.h:39
long long Long64_t
Definition: RtypesCore.h:69
const char * GetRawTableName() const
Definition: TSQLClassInfo.h:66
void SetRawTableName(const char *name)
Definition: TSQLClassInfo.h:63
virtual ~TSQLClassInfo()
destructor
Bool_t IsClassTableExist() const
Definition: TSQLClassInfo.h:72
Contains information about tables specific to one class and version.
Definition: TSQLClassInfo.h:48
Basic string class.
Definition: TString.h:137
TObjArray * GetColumns() const
Definition: TSQLClassInfo.h:75
ClassDef(TSQLClassInfo, 1)
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
virtual ~TSQLClassColumnInfo()
destructor
void SetTableStatus(TObjArray *columns=0, Bool_t israwtable=kFALSE)
set current status of class tables
Long64_t fClassId
! sql class id
Definition: TSQLClassInfo.h:82
TObjArray * fColumns
! name and type of columns - array of TNamed
Definition: TSQLClassInfo.h:85
const char * Data() const
Definition: TString.h:349
virtual const char * GetName() const
Returns name of object.
Definition: TSQLClassInfo.h:59
TString fClassName
! class name
Definition: TSQLClassInfo.h:80
Int_t GetClassVersion() const
Definition: TSQLClassInfo.h:60
Long64_t GetClassId() const
Definition: TSQLClassInfo.h:57
virtual const char * GetName() const
Returns name of object.
Definition: TSQLClassInfo.h:34
TString fClassTable
! name of table with class data
Definition: TSQLClassInfo.h:83
void SetRawExist(Bool_t on)
Definition: TSQLClassInfo.h:70
ClassDef(TSQLClassColumnInfo, 1)
const char * GetSQLType() const
Definition: TSQLClassInfo.h:36
const char * GetSQLName() const
Definition: TSQLClassInfo.h:35
Bool_t fRawtableExist
! indicate that raw table is exist
Definition: TSQLClassInfo.h:86
const char * GetClassTableName() const
Definition: TSQLClassInfo.h:65
#define name(a, b)
Definition: linkTestLib0.cpp:5
Mother of all ROOT objects.
Definition: TObject.h:58
Int_t fClassVersion
! class version
Definition: TSQLClassInfo.h:81
TString fRawTable
! name of table with raw data
Definition: TSQLClassInfo.h:84
Int_t FindColumn(const char *name, Bool_t sqlname=kFALSE)
Search for column of that name.
Bool_t IsRawTableExist() const
Definition: TSQLClassInfo.h:73
void SetColumns(TObjArray *columns)
assigns new list of columns