Logo ROOT  
Reference Guide
TBufferSQL2.h
Go to the documentation of this file.
1 // @(#)root/sql
2 // Author: Sergey Linev 20/11/2005
3 
4 #ifndef ROOT_TBufferSQL2
5 #define ROOT_TBufferSQL2
6 
7 #include "TBufferText.h"
8 #include "TString.h"
9 #include <string>
10 
11 class TMap;
12 class TExMap;
14 class TStreamerElement;
15 class TObjArray;
16 class TMemberStreamer;
17 
18 class TSQLStackObj;
19 class TSQLServer;
20 class TSQLResult;
21 class TSQLRow;
22 class TSQLFile;
23 class TSQLStructure;
24 class TSQLObjectData;
25 class TSQLClassInfo;
26 
27 class TBufferSQL2 final : public TBufferText {
28 
29  friend class TSQLStructure;
30 
31 protected:
32  TSQLFile *fSQL; ///<! instance of TSQLFile
33  Int_t fIOVersion; ///<! I/O version from TSQLFile
34  TSQLStructure *fStructure; ///<! structures, created by object storing
35  TSQLStructure *fStk; ///<! pointer on current active structure (stack head)
36  TString fReadBuffer; ///<! Buffer for read value
37  Int_t fErrorFlag; ///<! Error id value
38  Int_t fCompressLevel; ///<! compress level used to minimize size of data in database
39  Int_t fReadVersionBuffer; ///<! buffer, used to by ReadVersion method
40  Long64_t fObjIdCounter; ///<! counter of objects id
41  Bool_t fIgnoreVerification; ///<! ignore verification of names
43  TObjArray *fObjectsInfos; ///<! array of objects info for selected key
44  Long64_t fFirstObjId; ///<! id of first object to be read from the database
45  Long64_t fLastObjId; ///<! id of last object correspond to this key
46  TMap *fPoolsMap; ///<! map of pools with data from different tables
47 
48  // TBufferSQL2 objects cannot be copied or assigned
49  TBufferSQL2(const TBufferSQL2 &); // not implemented
50  void operator=(const TBufferSQL2 &); // not implemented
51 
52  TBufferSQL2();
53 
54  // redefined protected virtual functions
55 
56  void WriteObjectClass(const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse) final;
57 
58  // end redefined protected virtual functions
59 
62  TSQLStructure *Stack(Int_t depth = 0);
63 
64  void WorkWithClass(const char *classname, Version_t classversion);
65  void WorkWithElement(TStreamerElement *elem, Int_t comp_type);
66 
68  Bool_t SqlObjectInfo(Long64_t objid, TString &clname, Version_t &version);
70 
73  Bool_t SqlWriteBasic(Int_t value);
84  Bool_t SqlWriteValue(const char *value, const char *tname);
85 
86  void SqlReadBasic(Char_t &value);
87  void SqlReadBasic(Short_t &value);
88  void SqlReadBasic(Int_t &value);
89  void SqlReadBasic(Long_t &value);
90  void SqlReadBasic(Long64_t &value);
91  void SqlReadBasic(Float_t &value);
92  void SqlReadBasic(Double_t &value);
93  void SqlReadBasic(Bool_t &value);
94  void SqlReadBasic(UChar_t &value);
95  void SqlReadBasic(UShort_t &value);
96  void SqlReadBasic(UInt_t &value);
97  void SqlReadBasic(ULong_t &value);
98  void SqlReadBasic(ULong64_t &value);
99  const char *SqlReadValue(const char *tname);
100  const char *SqlReadCharStarValue();
101 
102  Int_t SqlWriteObject(const void *obj, const TClass *objClass, Bool_t cacheReuse, TMemberStreamer *streamer = nullptr,
103  Int_t streamer_index = 0);
104  void *SqlReadObject(void *obj, TClass **cl = nullptr, TMemberStreamer *streamer = nullptr, Int_t streamer_index = 0,
105  const TClass *onFileClass = nullptr);
106  void *SqlReadObjectDirect(void *obj, TClass **cl, Long64_t objid, TMemberStreamer *streamer = nullptr,
107  Int_t streamer_index = 0, const TClass *onFileClass = nullptr);
108 
109  void StreamObjectExtra(void *obj, TMemberStreamer *streamer, const TClass *cl, Int_t n = 0,
110  const TClass *onFileClass = nullptr);
111 
112  template <typename T>
113  R__ALWAYS_INLINE void SqlReadArrayContent(T *arr, Int_t arrsize, Bool_t withsize);
114 
115  template <typename T>
116  R__ALWAYS_INLINE Int_t SqlReadArray(T *&arr, Bool_t is_static = kFALSE);
117 
118  template <typename T>
119  R__ALWAYS_INLINE void SqlReadFastArray(T *arr, Int_t arrsize);
120 
121  template <typename T>
122  R__ALWAYS_INLINE void SqlWriteArray(T *arr, Int_t arrsize, Bool_t withsize = kFALSE);
123 
124 public:
125  TBufferSQL2(TBuffer::EMode mode, TSQLFile *file = nullptr);
126  virtual ~TBufferSQL2();
127 
128  void SetCompressionLevel(int level) { fCompressLevel = level; }
129 
130  TSQLStructure *GetStructure() const { return fStructure; }
131 
132  Int_t GetErrorFlag() const { return fErrorFlag; }
133 
135 
136  TSQLStructure *SqlWriteAny(const void *obj, const TClass *cl, Long64_t objid);
137 
138  void *SqlReadAny(Long64_t keyid, Long64_t objid, TClass **cl, void *obj = nullptr);
139 
140  // suppress class writing/reading
141 
142  TClass *ReadClass(const TClass *cl = nullptr, UInt_t *objTag = nullptr) final;
143  void WriteClass(const TClass *cl) final;
144 
145  // redefined virtual functions of TBuffer
146 
147  Version_t ReadVersion(UInt_t *start = nullptr, UInt_t *bcnt = nullptr, const TClass *cl = nullptr) final;
148  UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt = kFALSE) final;
149 
150  void *ReadObjectAny(const TClass *clCast) final;
151  void SkipObjectAny() final;
152 
153  void IncrementLevel(TVirtualStreamerInfo *) final;
154  void SetStreamerElementNumber(TStreamerElement *elem, Int_t comp_type) final;
155  void DecrementLevel(TVirtualStreamerInfo *) final;
156 
157  void ClassBegin(const TClass *, Version_t = -1) final;
158  void ClassEnd(const TClass *) final;
159  void ClassMember(const char *name, const char *typeName = 0, Int_t arrsize1 = -1, Int_t arrsize2 = -1) final;
160 
161  Int_t ReadArray(Bool_t *&b) final;
162  Int_t ReadArray(Char_t *&c) final;
163  Int_t ReadArray(UChar_t *&c) final;
164  Int_t ReadArray(Short_t *&h) final;
165  Int_t ReadArray(UShort_t *&h) final;
166  Int_t ReadArray(Int_t *&i) final;
167  Int_t ReadArray(UInt_t *&i) final;
168  Int_t ReadArray(Long_t *&l) final;
169  Int_t ReadArray(ULong_t *&l) final;
170  Int_t ReadArray(Long64_t *&l) final;
171  Int_t ReadArray(ULong64_t *&l) final;
172  Int_t ReadArray(Float_t *&f) final;
173  Int_t ReadArray(Double_t *&d) final;
174 
175  Int_t ReadStaticArray(Bool_t *b) final;
176  Int_t ReadStaticArray(Char_t *c) final;
177  Int_t ReadStaticArray(UChar_t *c) final;
178  Int_t ReadStaticArray(Short_t *h) final;
180  Int_t ReadStaticArray(Int_t *i) final;
181  Int_t ReadStaticArray(UInt_t *i) final;
182  Int_t ReadStaticArray(Long_t *l) final;
183  Int_t ReadStaticArray(ULong_t *l) final;
186  Int_t ReadStaticArray(Float_t *f) final;
188 
189  void ReadFastArray(Bool_t *b, Int_t n) final;
190  void ReadFastArray(Char_t *c, Int_t n) final;
191  void ReadFastArray(UChar_t *c, Int_t n) final;
192  void ReadFastArray(Short_t *h, Int_t n) final;
193  void ReadFastArray(UShort_t *h, Int_t n) final;
194  void ReadFastArray(Int_t *i, Int_t n) final;
195  void ReadFastArray(UInt_t *i, Int_t n) final;
196  void ReadFastArray(Long_t *l, Int_t n) final;
197  void ReadFastArray(ULong_t *l, Int_t n) final;
198  void ReadFastArray(Long64_t *l, Int_t n) final;
199  void ReadFastArray(ULong64_t *l, Int_t n) final;
200  void ReadFastArray(Float_t *f, Int_t n) final;
201  void ReadFastArray(Double_t *d, Int_t n) final;
202  void ReadFastArrayString(Char_t *c, Int_t n) final;
203  void ReadFastArray(void *start, const TClass *cl, Int_t n = 1, TMemberStreamer *s = nullptr,
204  const TClass *onFileClass = nullptr) final;
205  void ReadFastArray(void **startp, const TClass *cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE,
206  TMemberStreamer *s = nullptr, const TClass *onFileClass = nullptr) final;
207 
208  void WriteArray(const Bool_t *b, Int_t n) final;
209  void WriteArray(const Char_t *c, Int_t n) final;
210  void WriteArray(const UChar_t *c, Int_t n) final;
211  void WriteArray(const Short_t *h, Int_t n) final;
212  void WriteArray(const UShort_t *h, Int_t n) final;
213  void WriteArray(const Int_t *i, Int_t n) final;
214  void WriteArray(const UInt_t *i, Int_t n) final;
215  void WriteArray(const Long_t *l, Int_t n) final;
216  void WriteArray(const ULong_t *l, Int_t n) final;
217  void WriteArray(const Long64_t *l, Int_t n) final;
218  void WriteArray(const ULong64_t *l, Int_t n) final;
219  void WriteArray(const Float_t *f, Int_t n) final;
220  void WriteArray(const Double_t *d, Int_t n) final;
221 
222  void WriteFastArray(const Bool_t *b, Int_t n) final;
223  void WriteFastArray(const Char_t *c, Int_t n) final;
224  void WriteFastArray(const UChar_t *c, Int_t n) final;
225  void WriteFastArray(const Short_t *h, Int_t n) final;
226  void WriteFastArray(const UShort_t *h, Int_t n) final;
227  void WriteFastArray(const Int_t *i, Int_t n) final;
228  void WriteFastArray(const UInt_t *i, Int_t n) final;
229  void WriteFastArray(const Long_t *l, Int_t n) final;
230  void WriteFastArray(const ULong_t *l, Int_t n) final;
231  void WriteFastArray(const Long64_t *l, Int_t n) final;
232  void WriteFastArray(const ULong64_t *l, Int_t n) final;
233  void WriteFastArray(const Float_t *f, Int_t n) final;
234  void WriteFastArray(const Double_t *d, Int_t n) final;
235  void WriteFastArrayString(const Char_t *c, Int_t n) final;
236  void WriteFastArray(void *start, const TClass *cl, Int_t n = 1, TMemberStreamer *s = nullptr) final;
237  Int_t WriteFastArray(void **startp, const TClass *cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE,
238  TMemberStreamer *s = nullptr) final;
239 
240  void StreamObject(void *obj, const TClass *cl, const TClass *onFileClass = nullptr) final;
241  using TBufferText::StreamObject;
242 
243  void ReadBool(Bool_t &b) final;
244  void ReadChar(Char_t &c) final;
245  void ReadUChar(UChar_t &c) final;
246  void ReadShort(Short_t &s) final;
247  void ReadUShort(UShort_t &s) final;
248  void ReadInt(Int_t &i) final;
249  void ReadUInt(UInt_t &i) final;
250  void ReadLong(Long_t &l) final;
251  void ReadULong(ULong_t &l) final;
252  void ReadLong64(Long64_t &l) final;
253  void ReadULong64(ULong64_t &l) final;
254  void ReadFloat(Float_t &f) final;
255  void ReadDouble(Double_t &d) final;
256  void ReadCharP(Char_t *c) final;
257  void ReadTString(TString &s) final;
258  void ReadStdString(std::string *s) final;
259  using TBuffer::ReadStdString;
260  void ReadCharStar(char *&s) final;
261 
262  void WriteBool(Bool_t b) final;
263  void WriteChar(Char_t c) final;
264  void WriteUChar(UChar_t c) final;
265  void WriteShort(Short_t s) final;
266  void WriteUShort(UShort_t s) final;
267  void WriteInt(Int_t i) final;
268  void WriteUInt(UInt_t i) final;
269  void WriteLong(Long_t l) final;
270  void WriteULong(ULong_t l) final;
271  void WriteLong64(Long64_t l) final;
272  void WriteULong64(ULong64_t l) final;
273  void WriteFloat(Float_t f) final;
274  void WriteDouble(Double_t d) final;
275  void WriteCharP(const Char_t *c) final;
276  void WriteTString(const TString &s) final;
277  void WriteStdString(const std::string *s) final;
278  using TBuffer::WriteStdString;
279  void WriteCharStar(char *s) final;
280 
281  TVirtualStreamerInfo *GetInfo() final;
282 
283  // end of redefined virtual functions
284 
285  ClassDefOverride(TBufferSQL2, 0); // a specialized TBuffer to convert data to SQL statements or read data from SQL tables
286 };
287 
288 #endif
c
#define c(i)
Definition: RSha256.hxx:101
l
auto * l
Definition: textangle.C:4
TBufferSQL2::SqlReadAny
void * SqlReadAny(Long64_t keyid, Long64_t objid, TClass **cl, void *obj=nullptr)
Recreate object from sql structure.
Definition: TBufferSQL2.cxx:132
n
const Int_t n
Definition: legend1.C:16
TBufferSQL2::fObjIdCounter
Long64_t fObjIdCounter
! counter of objects id
Definition: TBufferSQL2.h:40
TBufferSQL2::ReadShort
void ReadShort(Short_t &s) final
Reads Short_t value from buffer.
Definition: TBufferSQL2.cxx:1787
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TBufferSQL2::ReadVersion
Version_t ReadVersion(UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr) final
Read version value from buffer actually version is normally defined by table name and kept in interme...
Definition: TBufferSQL2.cxx:804
Version_t
short Version_t
Definition: RtypesCore.h:65
TBufferSQL2::fStructure
TSQLStructure * fStructure
! structures, created by object storing
Definition: TBufferSQL2.h:34
TObjArray
An array of TObjects.
Definition: TObjArray.h:37
TBufferSQL2::fFirstObjId
Long64_t fFirstObjId
! id of first object to be read from the database
Definition: TBufferSQL2.h:44
TBufferSQL2::fReadBuffer
TString fReadBuffer
! Buffer for read value
Definition: TBufferSQL2.h:36
f
#define f(i)
Definition: RSha256.hxx:104
TBufferSQL2::WriteULong64
void WriteULong64(ULong64_t l) final
Writes ULong64_t value to buffer.
Definition: TBufferSQL2.cxx:2105
TSQLClassInfo
Contains information about tables specific to one class and version.
Definition: TSQLClassInfo.h:41
TBufferSQL2::ReadFastArray
void ReadFastArray(Bool_t *b, Int_t n) final
Read array of Bool_t from buffer.
Definition: TBufferSQL2.cxx:1148
UShort_t
unsigned short UShort_t
Definition: RtypesCore.h:40
TBufferSQL2::WriteUChar
void WriteUChar(UChar_t c) final
Writes UChar_t value to buffer.
Definition: TBufferSQL2.cxx:2041
TBufferSQL2::ReadTString
void ReadTString(TString &s) final
Read a TString.
Definition: TBufferSQL2.cxx:1877
TBufferSQL2::WriteVersion
UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE) final
Copies class version to buffer, but not writes it to sql immidiately Version will be used to produce ...
Definition: TBufferSQL2.cxx:837
TBufferSQL2::SetStreamerElementNumber
void SetStreamerElementNumber(TStreamerElement *elem, Int_t comp_type) final
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions and add/verify next elemen...
Definition: TBufferSQL2.cxx:509
TBufferSQL2::WriteLong
void WriteLong(Long_t l) final
Writes Long_t value to buffer.
Definition: TBufferSQL2.cxx:2081
Long64_t
long long Long64_t
Definition: RtypesCore.h:73
TBufferSQL2::SqlObjectData
TSQLObjectData * SqlObjectData(Long64_t objid, TSQLClassInfo *sqlinfo)
Creates TSQLObjectData for specified object id and specified class.
Definition: TBufferSQL2.cxx:205
Float_t
float Float_t
Definition: RtypesCore.h:57
TGeant4Unit::s
static constexpr double s
Definition: TGeant4SystemOfUnits.h:162
TBufferSQL2::fIgnoreVerification
Bool_t fIgnoreVerification
! ignore verification of names
Definition: TBufferSQL2.h:41
TBufferSQL2::fReadVersionBuffer
Int_t fReadVersionBuffer
! buffer, used to by ReadVersion method
Definition: TBufferSQL2.h:39
TBufferSQL2::SkipObjectAny
void SkipObjectAny() final
?????? Skip any kind of object from buffer !!!!!! fix me, not yet implemented Should be just skip of ...
Definition: TBufferSQL2.cxx:861
TBufferSQL2::PushStack
TSQLStructure * PushStack()
Push stack with structural information about streamed object.
Definition: TBufferSQL2.cxx:2484
Int_t
int Int_t
Definition: RtypesCore.h:45
TSQLStructure
This is hierarchical structure, which is created when data is written by TBufferSQL2.
Definition: TSQLStructure.h:88
TBufferSQL2::ReadULong
void ReadULong(ULong_t &l) final
Reads ULong_t value from buffer.
Definition: TBufferSQL2.cxx:1827
TBufferSQL2::WriteShort
void WriteShort(Short_t s) final
Writes Short_t value to buffer.
Definition: TBufferSQL2.cxx:2049
TBufferSQL2::WriteBool
void WriteBool(Bool_t b) final
Writes Bool_t value to buffer.
Definition: TBufferSQL2.cxx:2025
TBuffer
Buffer base class used for serializing objects.
Definition: TBuffer.h:43
TBufferSQL2::TBufferSQL2
TBufferSQL2(const TBufferSQL2 &)
TString
Basic string class.
Definition: TString.h:136
TBufferSQL2::SqlReadArraySize
Int_t SqlReadArraySize()
Reads array size, written in raw data table.
Definition: TBufferSQL2.cxx:1367
TBufferSQL2::fCompressLevel
Int_t fCompressLevel
! compress level used to minimize size of data in database
Definition: TBufferSQL2.h:38
TBufferSQL2::TBufferSQL2
TBufferSQL2()
Default constructor, should not be used.
Definition: TBufferSQL2.cxx:58
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TBufferSQL2::ReadChar
void ReadChar(Char_t &c) final
Reads Char_t value from buffer.
Definition: TBufferSQL2.cxx:1771
TBufferSQL2::fIOVersion
Int_t fIOVersion
! I/O version from TSQLFile
Definition: TBufferSQL2.h:33
TBufferSQL2::SqlWriteObject
Int_t SqlWriteObject(const void *obj, const TClass *objClass, Bool_t cacheReuse, TMemberStreamer *streamer=nullptr, Int_t streamer_index=0)
Write object to buffer.
Definition: TBufferSQL2.cxx:265
TBufferSQL2::IncrementLevel
void IncrementLevel(TVirtualStreamerInfo *) final
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions and indent new level in da...
Definition: TBufferSQL2.cxx:474
b
#define b(i)
Definition: RSha256.hxx:100
TString.h
TBufferSQL2::ReadFastArrayString
void ReadFastArrayString(Char_t *c, Int_t n) final
Read array of n characters from the I/O buffer.
Definition: TBufferSQL2.cxx:1256
TVirtualStreamerInfo
Abstract Interface class describing Streamer information for one class.
Definition: TVirtualStreamerInfo.h:37
TBufferSQL2::ReadInt
void ReadInt(Int_t &i) final
Reads Int_t value from buffer.
Definition: TBufferSQL2.cxx:1803
bool
TBufferSQL2::fErrorFlag
Int_t fErrorFlag
! Error id value
Definition: TBufferSQL2.h:37
TSQLResult
Definition: TSQLResult.h:32
TBufferSQL2
Converts data to SQL statements or read data from SQL tables.
Definition: TBufferSQL2.h:27
TBufferSQL2::WriteClass
void WriteClass(const TClass *cl) final
Suppressed function of TBuffer.
Definition: TBufferSQL2.cxx:795
TBufferSQL2::ReadULong64
void ReadULong64(ULong64_t &l) final
Reads ULong64_t value from buffer.
Definition: TBufferSQL2.cxx:1843
TBufferText
Base class for text-based streamers like TBufferJSON or TBufferXML Special actions list will use meth...
Definition: TBufferText.h:20
TBufferSQL2::StreamObject
void StreamObject(void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr) override
stream object to/from buffer
Definition: TBufferText.cxx:465
TBufferSQL2::SqlWriteBasic
Bool_t SqlWriteBasic(Char_t value)
converts Char_t to string and creates correspondent sql structure
Definition: TBufferSQL2.cxx:2137
TBufferSQL2::ReadLong
void ReadLong(Long_t &l) final
Reads Long_t value from buffer.
Definition: TBufferSQL2.cxx:1819
TBufferSQL2::WorkWithElement
void WorkWithElement(TStreamerElement *elem, Int_t comp_type)
This function is a part of SetStreamerElementNumber method.
Definition: TBufferSQL2.cxx:746
TBufferSQL2::ReadCharP
void ReadCharP(Char_t *c) final
Reads array of characters from buffer.
Definition: TBufferSQL2.cxx:1867
TBufferSQL2::WriteChar
void WriteChar(Char_t c) final
Writes Char_t value to buffer.
Definition: TBufferSQL2.cxx:2033
TBufferSQL2::ReadUChar
void ReadUChar(UChar_t &c) final
Reads UChar_t value from buffer.
Definition: TBufferSQL2.cxx:1779
TBufferSQL2::SqlReadArrayContent
R__ALWAYS_INLINE void SqlReadArrayContent(T *arr, Int_t arrsize, Bool_t withsize)
Template method to read array content.
Definition: TBufferSQL2.cxx:879
TBuffer::EMode
EMode
Definition: TBuffer.h:73
TBufferSQL2::fStk
TSQLStructure * fStk
! pointer on current active structure (stack head)
Definition: TBufferSQL2.h:35
TBufferSQL2::WriteDouble
void WriteDouble(Double_t d) final
Writes Double_t value to buffer.
Definition: TBufferSQL2.cxx:2121
h
#define h(i)
Definition: RSha256.hxx:106
TBufferSQL2::WriteFastArrayString
void WriteFastArrayString(const Char_t *c, Int_t n) final
Write array of n characters into the I/O buffer.
Definition: TBufferSQL2.cxx:1632
TBufferSQL2::WriteUShort
void WriteUShort(UShort_t s) final
Writes UShort_t value to buffer.
Definition: TBufferSQL2.cxx:2057
TBufferSQL2::SqlReadObject
void * SqlReadObject(void *obj, TClass **cl=nullptr, TMemberStreamer *streamer=nullptr, Int_t streamer_index=0, const TClass *onFileClass=nullptr)
Read object from the buffer.
Definition: TBufferSQL2.cxx:318
TBufferSQL2::fSQL
TSQLFile * fSQL
! instance of TSQLFile
Definition: TBufferSQL2.h:32
TBufferSQL2::ClassDefOverride
ClassDefOverride(TBufferSQL2, 0)
TBufferSQL2::WriteCharStar
void WriteCharStar(char *s) final
Write a char* string.
Definition: TBufferSQL2.cxx:2010
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TBufferSQL2::WriteInt
void WriteInt(Int_t i) final
Writes Int_t value to buffer.
Definition: TBufferSQL2.cxx:2065
TSQLRow
Definition: TSQLRow.h:30
Long_t
long Long_t
Definition: RtypesCore.h:54
TBufferSQL2::ClassMember
void ClassMember(const char *name, const char *typeName=0, Int_t arrsize1=-1, Int_t arrsize2=-1) final
Method indicates name and typename of class memeber, which should be now streamed in custom streamer ...
Definition: TBufferSQL2.cxx:592
TBufferSQL2::operator=
void operator=(const TBufferSQL2 &)
TBufferSQL2::SqlReadArray
R__ALWAYS_INLINE Int_t SqlReadArray(T *&arr, Bool_t is_static=kFALSE)
Definition: TBufferSQL2.cxx:913
TBufferSQL2::GetStructure
TSQLStructure * GetStructure() const
Definition: TBufferSQL2.h:130
UInt_t
unsigned int UInt_t
Definition: RtypesCore.h:46
TBufferSQL2::ReadArray
Int_t ReadArray(Bool_t *&b) final
Read array of Bool_t from buffer.
Definition: TBufferSQL2.cxx:930
ULong_t
unsigned long ULong_t
Definition: RtypesCore.h:55
Short_t
short Short_t
Definition: RtypesCore.h:39
TBufferSQL2::ReadClass
TClass * ReadClass(const TClass *cl=nullptr, UInt_t *objTag=nullptr) final
Suppressed function of TBuffer.
Definition: TBufferSQL2.cxx:787
TBufferSQL2::WriteCharP
void WriteCharP(const Char_t *c) final
Writes array of characters to buffer.
Definition: TBufferSQL2.cxx:2129
TBufferSQL2::WriteUInt
void WriteUInt(UInt_t i) final
Writes UInt_t value to buffer.
Definition: TBufferSQL2.cxx:2073
TBufferSQL2::SqlReadObjectDirect
void * SqlReadObjectDirect(void *obj, TClass **cl, Long64_t objid, TMemberStreamer *streamer=nullptr, Int_t streamer_index=0, const TClass *onFileClass=nullptr)
Read object data.
Definition: TBufferSQL2.cxx:386
TBufferSQL2::WriteObjectClass
void WriteObjectClass(const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse) final
Write object to buffer. Only used from TBuffer.
Definition: TBufferSQL2.cxx:868
TBufferSQL2::ClassEnd
void ClassEnd(const TClass *) final
Method indicates end of streaming of classdata in custom streamer.
Definition: TBufferSQL2.cxx:573
unsigned int
TBufferSQL2::ReadUInt
void ReadUInt(UInt_t &i) final
Reads UInt_t value from buffer.
Definition: TBufferSQL2.cxx:1811
TBufferSQL2::WriteArray
void WriteArray(const Bool_t *b, Int_t n) final
Write array of Bool_t to buffer.
Definition: TBufferSQL2.cxx:1403
TBufferSQL2::ReadUShort
void ReadUShort(UShort_t &s) final
Reads UShort_t value from buffer.
Definition: TBufferSQL2.cxx:1795
TBufferSQL2::SqlReadCharStarValue
const char * SqlReadCharStarValue()
Read CharStar value, if it has special code, request it from large table.
Definition: TBufferSQL2.cxx:2464
TBufferSQL2::SqlWriteValue
Bool_t SqlWriteValue(const char *value, const char *tname)
Definition: TBufferSQL2.cxx:2262
TBufferSQL2::WorkWithClass
void WorkWithClass(const char *classname, Version_t classversion)
This function is a part of IncrementLevel method.
Definition: TBufferSQL2.cxx:697
TBufferSQL2::SetCompressionLevel
void SetCompressionLevel(int level)
Definition: TBufferSQL2.h:128
ULong64_t
unsigned long long ULong64_t
Definition: RtypesCore.h:74
TBufferText.h
Double_t
double Double_t
Definition: RtypesCore.h:59
TSQLObjectData
TSQLObjectData is used in TBufferSQL2 class in reading procedure.
Definition: TSQLObjectData.h:47
TBufferSQL2::ReadStaticArray
Int_t ReadStaticArray(Bool_t *b) final
Read array of Bool_t from buffer.
Definition: TBufferSQL2.cxx:1034
TBufferSQL2::Stack
TSQLStructure * Stack(Int_t depth=0)
returns head of stack
Definition: TBufferSQL2.cxx:2511
TBufferSQL2::WriteFloat
void WriteFloat(Float_t f) final
Writes Float_t value to buffer.
Definition: TBufferSQL2.cxx:2113
TBufferSQL2::SqlWriteArray
R__ALWAYS_INLINE void SqlWriteArray(T *arr, Int_t arrsize, Bool_t withsize=kFALSE)
Definition: TBufferSQL2.cxx:1377
TBufferSQL2::SqlReadBasic
void SqlReadBasic(Char_t &value)
Read current value from table and convert it to Char_t value.
Definition: TBufferSQL2.cxx:2274
TBufferSQL2::WriteTString
void WriteTString(const TString &s) final
Write a TString.
Definition: TBufferSQL2.cxx:1907
TClass
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
TBufferSQL2::SqlObjectInfo
Bool_t SqlObjectInfo(Long64_t objid, TString &clname, Version_t &version)
Returns object info like classname and version Should be taken from buffer, which is produced in the ...
Definition: TBufferSQL2.cxx:160
TBufferSQL2::ReadFloat
void ReadFloat(Float_t &f) final
Reads Float_t value from buffer.
Definition: TBufferSQL2.cxx:1851
file
Definition: file.py:1
TBufferSQL2::ReadObjectAny
void * ReadObjectAny(const TClass *clCast) final
Read object from buffer. Only used from TBuffer.
Definition: TBufferSQL2.cxx:851
TBufferSQL2::fLastObjId
Long64_t fLastObjId
! id of last object correspond to this key
Definition: TBufferSQL2.h:45
UChar_t
unsigned char UChar_t
Definition: RtypesCore.h:38
TBufferSQL2::DecrementLevel
void DecrementLevel(TVirtualStreamerInfo *) final
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions and decrease level in sql ...
Definition: TBufferSQL2.cxx:491
TBufferSQL2::fPoolsMap
TMap * fPoolsMap
! map of pools with data from different tables
Definition: TBufferSQL2.h:46
TBufferSQL2::PopStack
TSQLStructure * PopStack()
Pop stack.
Definition: TBufferSQL2.cxx:2500
name
char name[80]
Definition: TGX11.cxx:110
TBufferSQL2::ClassBegin
void ClassBegin(const TClass *, Version_t=-1) final
This method inform buffer data of which class now will be streamed.
Definition: TBufferSQL2.cxx:539
TBufferSQL2::fCurrentData
TSQLObjectData * fCurrentData
!
Definition: TBufferSQL2.h:42
TBufferSQL2::SqlReadValue
const char * SqlReadValue(const char *tname)
Read string value from current stack node.
Definition: TBufferSQL2.cxx:2434
ROOT::Math::Chebyshev::T
double T(double x)
Definition: ChebyshevPol.h:34
d
#define d(i)
Definition: RSha256.hxx:102
TExMap
This class stores a (key,value) pair using an external hash.
Definition: TExMap.h:33
TBufferSQL2::ReadLong64
void ReadLong64(Long64_t &l) final
Reads Long64_t value from buffer.
Definition: TBufferSQL2.cxx:1835
TBufferSQL2::~TBufferSQL2
virtual ~TBufferSQL2()
Destroy sql buffer.
Definition: TBufferSQL2.cxx:85
TBufferSQL2::GetErrorFlag
Int_t GetErrorFlag() const
Definition: TBufferSQL2.h:132
TBufferSQL2::ReadCharStar
void ReadCharStar(char *&s) final
Read a char* string.
Definition: TBufferSQL2.cxx:1993
TBufferSQL2::WriteStdString
virtual void WriteStdString(const std::string *s)=0
TBufferSQL2::ReadDouble
void ReadDouble(Double_t &d) final
Reads Double_t value from buffer.
Definition: TBufferSQL2.cxx:1859
TBufferSQL2::SetIgnoreVerification
void SetIgnoreVerification()
Definition: TBufferSQL2.h:134
TMemberStreamer
Definition: TMemberStreamer.h:26
TBufferSQL2::WriteFastArray
void WriteFastArray(const Bool_t *b, Int_t n) final
Write array of Bool_t to buffer.
Definition: TBufferSQL2.cxx:1507
TBufferSQL2::fObjectsInfos
TObjArray * fObjectsInfos
! array of objects info for selected key
Definition: TBufferSQL2.h:43
Char_t
char Char_t
Definition: RtypesCore.h:33
TStreamerElement
Definition: TStreamerElement.h:33
TBufferSQL2::SqlReadFastArray
R__ALWAYS_INLINE void SqlReadFastArray(T *arr, Int_t arrsize)
Template method to read content of array, which not include size of array.
Definition: TBufferSQL2.cxx:1139
TSQLServer
Definition: TSQLServer.h:41
TBufferSQL2::SqlWriteAny
TSQLStructure * SqlWriteAny(const void *obj, const TClass *cl, Long64_t objid)
Convert object of any class to sql structures Return pointer on created TSQLStructure TSQLStructure o...
Definition: TBufferSQL2.cxx:106
TBufferSQL2::WriteULong
void WriteULong(ULong_t l) final
Writes ULong_t value to buffer.
Definition: TBufferSQL2.cxx:2089
TBufferSQL2::StreamObjectExtra
void StreamObjectExtra(void *obj, TMemberStreamer *streamer, const TClass *cl, Int_t n=0, const TClass *onFileClass=nullptr)
Stream object to/from buffer.
Definition: TBufferSQL2.cxx:1744
TSQLFile
Access an SQL db via the TFile interface.
Definition: TSQLFile.h:30
TBufferSQL2::GetInfo
TVirtualStreamerInfo * GetInfo() final
Return current streamer info element.
Definition: TBufferSQL2.cxx:2522
TBufferSQL2::ReadBool
void ReadBool(Bool_t &b) final
Reads Bool_t value from buffer.
Definition: TBufferSQL2.cxx:1763
int
R__ALWAYS_INLINE
#define R__ALWAYS_INLINE
Definition: RConfig.hxx:570
TBufferSQL2::WriteLong64
void WriteLong64(Long64_t l) final
Writes Long64_t value to buffer.
Definition: TBufferSQL2.cxx:2097
TMap
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition: TMap.h:40
TBufferSQL2::ReadStdString
virtual void ReadStdString(std::string *s)=0