library: libSQL #include "TBufferSQL2.h" |
TBufferSQL2
class description - source file - inheritance tree (.pdf)
protected:
TBufferSQL2(const TBufferSQL2&)
TBufferSQL2()
void operator=(const TBufferSQL2&)
TSQLStructure* PopStack()
TSQLStructure* PushStack()
TSQLObjectData* SqlObjectData(Long64_t objid, TSQLClassInfo* sqlinfo)
Bool_t SqlObjectInfo(Long64_t objid, TString& clname, Version_t& version)
Int_t SqlReadArraySize()
void SqlReadBasic(Char_t& value)
void SqlReadBasic(Short_t& value)
void SqlReadBasic(Int_t& value)
void SqlReadBasic(Long_t& value)
void SqlReadBasic(Long64_t& value)
void SqlReadBasic(Float_t& value)
void SqlReadBasic(Double_t& value)
void SqlReadBasic(Bool_t& value)
void SqlReadBasic(UChar_t& value)
void SqlReadBasic(UShort_t& value)
void SqlReadBasic(UInt_t& value)
void SqlReadBasic(ULong_t& value)
void SqlReadBasic(ULong64_t& value)
const char* SqlReadCharStarValue() const
void* SqlReadObject(void* obj, TClass** cl = 0, TMemberStreamer* streamer = 0, Int_t streamer_index = 0)
void* SqlReadObjectDirect(void* obj, TClass** cl, Long64_t objid, TMemberStreamer* streamer = 0, Int_t streamer_index = 0)
const char* SqlReadValue(const char* tname) const
Bool_t SqlWriteBasic(Char_t value)
Bool_t SqlWriteBasic(Short_t value)
Bool_t SqlWriteBasic(Int_t value)
Bool_t SqlWriteBasic(Long_t value)
Bool_t SqlWriteBasic(Long64_t value)
Bool_t SqlWriteBasic(Float_t value)
Bool_t SqlWriteBasic(Double_t value)
Bool_t SqlWriteBasic(Bool_t value)
Bool_t SqlWriteBasic(UChar_t value)
Bool_t SqlWriteBasic(UShort_t value)
Bool_t SqlWriteBasic(UInt_t value)
Bool_t SqlWriteBasic(ULong_t value)
Bool_t SqlWriteBasic(ULong64_t value)
Int_t SqlWriteObject(const void* obj, const TClass* objClass, TMemberStreamer* streamer = 0, Int_t streamer_index = 0)
Bool_t SqlWriteValue(const char* value, const char* tname)
TSQLStructure* Stack(Int_t depth = 0)
void WorkWithClass(const char* classname, Version_t classversion)
void WorkWithElement(TStreamerElement* elem, Int_t number)
virtual void WriteObject(const void* actualObjStart, const TClass* actualClass)
public:
TBufferSQL2(TBuffer::EMode mode)
TBufferSQL2(TBuffer::EMode mode, TSQLFile* file)
virtual ~TBufferSQL2()
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass* clss)
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const char* classname)
static TClass* Class()
virtual void ClassBegin(const TClass*, Version_t = -1)
virtual void ClassEnd(const TClass*)
virtual void ClassMember(const char* name, const char* typeName = "0", Int_t arrsize1 = -1, Int_t arrsize2 = -1)
virtual void DecrementLevel(TStreamerInfo*)
Int_t GetErrorFlag() const
TSQLStructure* GetStructure() const
virtual void IncrementLevel(TStreamerInfo*)
virtual TClass* IsA() const
virtual TBuffer& operator<<(Bool_t b)
virtual TBuffer& operator<<(Char_t c)
virtual TBuffer& operator<<(UChar_t c)
virtual TBuffer& operator<<(Short_t h)
virtual TBuffer& operator<<(UShort_t h)
virtual TBuffer& operator<<(Int_t i)
virtual TBuffer& operator<<(UInt_t i)
virtual TBuffer& operator<<(Long_t l)
virtual TBuffer& operator<<(ULong_t l)
virtual TBuffer& operator<<(Long64_t l)
virtual TBuffer& operator<<(ULong64_t l)
virtual TBuffer& operator<<(Float_t f)
virtual TBuffer& operator<<(Double_t d)
virtual TBuffer& operator<<(const Char_t* c)
virtual TBuffer& operator>>(Bool_t& b)
virtual TBuffer& operator>>(Char_t& c)
virtual TBuffer& operator>>(UChar_t& c)
virtual TBuffer& operator>>(Short_t& h)
virtual TBuffer& operator>>(UShort_t& h)
virtual TBuffer& operator>>(Int_t& i)
virtual TBuffer& operator>>(UInt_t& i)
virtual TBuffer& operator>>(Long_t& l)
virtual TBuffer& operator>>(ULong_t& l)
virtual TBuffer& operator>>(Long64_t& l)
virtual TBuffer& operator>>(ULong64_t& l)
virtual TBuffer& operator>>(Float_t& f)
virtual TBuffer& operator>>(Double_t& d)
virtual TBuffer& operator>>(Char_t* c)
virtual Int_t ReadArray(Bool_t*& b)
virtual Int_t ReadArray(Char_t*& c)
virtual Int_t ReadArray(UChar_t*& c)
virtual Int_t ReadArray(Short_t*& h)
virtual Int_t ReadArray(UShort_t*& h)
virtual Int_t ReadArray(Int_t*& i)
virtual Int_t ReadArray(UInt_t*& i)
virtual Int_t ReadArray(Long_t*& l)
virtual Int_t ReadArray(ULong_t*& l)
virtual Int_t ReadArray(Long64_t*& l)
virtual Int_t ReadArray(ULong64_t*& l)
virtual Int_t ReadArray(Float_t*& f)
virtual Int_t ReadArray(Double_t*& d)
virtual Int_t ReadArrayDouble32(Double_t*& d, TStreamerElement* ele = 0)
virtual TClass* ReadClass(const TClass* cl = 0, UInt_t* objTag = 0)
virtual void ReadDouble32(Double_t* d, TStreamerElement* ele = 0)
virtual void ReadFastArray(Bool_t* b, Int_t n)
virtual void ReadFastArray(Char_t* c, Int_t n)
virtual void ReadFastArray(UChar_t* c, Int_t n)
virtual void ReadFastArray(Short_t* h, Int_t n)
virtual void ReadFastArray(UShort_t* h, Int_t n)
virtual void ReadFastArray(Int_t* i, Int_t n)
virtual void ReadFastArray(UInt_t* i, Int_t n)
virtual void ReadFastArray(Long_t* l, Int_t n)
virtual void ReadFastArray(ULong_t* l, Int_t n)
virtual void ReadFastArray(Long64_t* l, Int_t n)
virtual void ReadFastArray(ULong64_t* l, Int_t n)
virtual void ReadFastArray(Float_t* f, Int_t n)
virtual void ReadFastArray(Double_t* d, Int_t n)
virtual void ReadFastArray(void* start, const TClass* cl, Int_t n = 1, TMemberStreamer* s = 0)
virtual void ReadFastArray(void** startp, const TClass* cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE, TMemberStreamer* s = 0)
virtual void ReadFastArrayDouble32(Double_t* d, Int_t n, TStreamerElement* ele = 0)
virtual void* ReadObjectAny(const TClass* clCast)
virtual Int_t ReadStaticArray(Bool_t* b)
virtual Int_t ReadStaticArray(Char_t* c)
virtual Int_t ReadStaticArray(UChar_t* c)
virtual Int_t ReadStaticArray(Short_t* h)
virtual Int_t ReadStaticArray(UShort_t* h)
virtual Int_t ReadStaticArray(Int_t* i)
virtual Int_t ReadStaticArray(UInt_t* i)
virtual Int_t ReadStaticArray(Long_t* l)
virtual Int_t ReadStaticArray(ULong_t* l)
virtual Int_t ReadStaticArray(Long64_t* l)
virtual Int_t ReadStaticArray(ULong64_t* l)
virtual Int_t ReadStaticArray(Float_t* f)
virtual Int_t ReadStaticArray(Double_t* d)
virtual Int_t ReadStaticArrayDouble32(Double_t* d, TStreamerElement* ele = 0)
virtual Version_t ReadVersion(UInt_t* start = 0, UInt_t* bcnt = 0, const TClass* cl = 0)
virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion = kFALSE)
void SetCompressionLevel(int level)
void SetIgnoreVerification()
virtual void SetStreamerElementNumber(Int_t)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void SkipObjectAny()
void* SqlReadAny(Long64_t keyid, Long64_t objid, TClass** cl, void* obj = 0)
TSQLStructure* SqlWriteAny(const void* obj, const TClass* cl, Long64_t objid)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual void StreamObject(void* obj, const type_info& typeinfo)
virtual void StreamObject(void* obj, const char* className)
virtual void StreamObject(void* obj, const TClass* cl)
virtual void StreamObject(TObject* obj)
virtual void StreamObject(void* obj, TMemberStreamer* streamer, const TClass* cl, Int_t n = 0)
virtual void WriteArray(const Bool_t* b, Int_t n)
virtual void WriteArray(const Char_t* c, Int_t n)
virtual void WriteArray(const UChar_t* c, Int_t n)
virtual void WriteArray(const Short_t* h, Int_t n)
virtual void WriteArray(const UShort_t* h, Int_t n)
virtual void WriteArray(const Int_t* i, Int_t n)
virtual void WriteArray(const UInt_t* i, Int_t n)
virtual void WriteArray(const Long_t* l, Int_t n)
virtual void WriteArray(const ULong_t* l, Int_t n)
virtual void WriteArray(const Long64_t* l, Int_t n)
virtual void WriteArray(const ULong64_t* l, Int_t n)
virtual void WriteArray(const Float_t* f, Int_t n)
virtual void WriteArray(const Double_t* d, Int_t n)
virtual void WriteArrayDouble32(const Double_t* d, Int_t n, TStreamerElement* ele = 0)
virtual void WriteClass(const TClass* cl)
virtual void WriteDouble32(Double_t* d, TStreamerElement* ele = 0)
virtual void WriteFastArray(const Bool_t* b, Int_t n)
virtual void WriteFastArray(const Char_t* c, Int_t n)
virtual void WriteFastArray(const UChar_t* c, Int_t n)
virtual void WriteFastArray(const Short_t* h, Int_t n)
virtual void WriteFastArray(const UShort_t* h, Int_t n)
virtual void WriteFastArray(const Int_t* i, Int_t n)
virtual void WriteFastArray(const UInt_t* i, Int_t n)
virtual void WriteFastArray(const Long_t* l, Int_t n)
virtual void WriteFastArray(const ULong_t* l, Int_t n)
virtual void WriteFastArray(const Long64_t* l, Int_t n)
virtual void WriteFastArray(const ULong64_t* l, Int_t n)
virtual void WriteFastArray(const Float_t* f, Int_t n)
virtual void WriteFastArray(const Double_t* d, Int_t n)
virtual void WriteFastArray(void* start, const TClass* cl, Int_t n = 1, TMemberStreamer* s = 0)
virtual Int_t WriteFastArray(void** startp, const TClass* cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE, TMemberStreamer* s = 0)
virtual void WriteFastArrayDouble32(const Double_t* d, Int_t n, TStreamerElement* ele = 0)
virtual void WriteObject(const TObject* obj)
virtual UInt_t WriteVersion(const TClass* cl, Bool_t useBcnt = kFALSE)
protected:
TSQLFile* fSQL ! instance of TSQLFile
TSQLStructure* fStructure ! structures, created by object storing
TSQLStructure* fStk ! pointer on current active structure (stack head)
TExMap* fObjMap ! Map between stored objects and object id
TString fReadBuffer ! Buffer for read value
Int_t fErrorFlag ! Error id value
Bool_t fExpectedChain ! flag to resolve situation when several elements of same basic type stored as FastArray
Int_t fCompressLevel ! compress level used to minimize size of data in database
Int_t fReadVersionBuffer ! buffer, used to by ReadVersion method
Long64_t fObjIdCounter ! counter of objects id
Bool_t fIgnoreVerification ! ignore verification of names
TSQLObjectData* fCurrentData !
TObjArray* fObjectsInfos ! array of objects info for selected key
Long64_t fFirstObjId ! id of first object to be read from the database
Long64_t fLastObjId ! id of last object correspond to this key
TMap* fPoolsMap ! map of pools with data from different tables
Class for serializing/deserializing object to/from SQL data base.
It redefines most of TBuffer class function to convert simple types,
array of simple types and objects to/from TSQLStructure objects.
TBufferSQL2 class uses streaming mechanism, provided by ROOT system,
therefore most of ROOT and user classes can be stored. There are
limitations for complex objects like TTree, TClonesArray, TDirectory and
few other, which can not be converted to SQL (yet).
________________________________________________________________________
TBufferSQL2() :
TBuffer(),
fSQL(0),
fStructure(0),
fObjMap(0),
fPoolsMap(0)
Default constructor, should not be used
TBufferSQL2(TBuffer::EMode mode) :
TBuffer(mode),
fSQL(0),
fStructure(0),
fStk(0),
fObjMap(0),
fErrorFlag(0),
fExpectedChain(kFALSE),
fCompressLevel(0),
fReadVersionBuffer(-1),
fObjIdCounter(1),
fIgnoreVerification(kFALSE),
fObjectsInfos(0),
fPoolsMap(0)
Creates buffer object to serailize/deserialize data to/from sql.
Mode should be either TBuffer::kRead or TBuffer::kWrite.
TBufferSQL2(TBuffer::EMode mode, TSQLFile* file) :
TBuffer(mode),
fSQL(0),
fStructure(0),
fStk(0),
fObjMap(0),
fErrorFlag(0),
fExpectedChain(kFALSE),
fCompressLevel(0),
fReadVersionBuffer(-1),
fObjIdCounter(1),
fObjectsInfos(0),
fPoolsMap(0)
Creates buffer object to serailize/deserialize data to/from sql.
This constructor should be used, if data from buffer supposed to be stored in file.
Mode should be either TBuffer::kRead or TBuffer::kWrite.
~TBufferSQL2()
destroy sql buffer
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 object will be owned by TBufferSQL2
void* SqlReadAny(Long64_t keyid, Long64_t objid, TClass** cl, void* obj)
Recreate object from sql structure.
Return pointer to read object.
if (cl!=0) returns pointer to class of object
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 begginnig
TSQLObjectData* SqlObjectData(Long64_t objid, TSQLClassInfo* sqlinfo)
void WriteObject(const TObject *obj)
Convert object into sql structures.
!!! Should be used only by TBufferSQL2 itself.
Use SqlWrite() functions to convert your object to sql
Redefined here to avoid gcc 3.x warning
Int_t SqlWriteObject(const void* obj, const TClass* cl, TMemberStreamer *streamer, Int_t streamer_index)
Write object to buffer
If object was written before, only pointer will be stored
Return id of saved object
void* SqlReadObject(void* obj, TClass** cl, TMemberStreamer *streamer, Int_t streamer_index)
Read object from the buffer
void* SqlReadObjectDirect(void* obj, TClass** cl, Long64_t objid, TMemberStreamer *streamer, Int_t streamer_index)
Read object data.
Class name and version are taken from special objects table.
void IncrementLevel(TStreamerInfo* info)
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
and indent new level in data structure.
This call indicates, that TStreamerInfo functions starts streaming
object data of correspondent class
void DecrementLevel(TStreamerInfo* info)
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
and decrease level in sql structure.
void SetStreamerElementNumber(Int_t number)
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
and add/verify next element in sql tables
This calls allows separate data, correspondent to one class member, from another
void ClassBegin(const TClass* cl, Version_t classversion)
This method inform buffer data of which class now
will be streamed. When reading, classversion should be specified
as was read by TBuffer::ReadVersion() call
ClassBegin(), ClassEnd() & ClassMemeber() should be used in
custom class streamers to specify which kind of data are
now streamed to/from buffer. That information is used to correctly
convert class data to/from "normal" sql tables with meaningfull names
and correct datatypes. Without that functions data from custom streamer
will be saved as "raw" data in special _streamer_ table one value after another
Such MUST be used when object is written with standard ROOT streaming
procedure, but should be read back in custom streamer.
For example, custom streamer of TNamed class may look like:
void ClassEnd(const TClass* cl)
Method indicates end of streaming of classdata in custom streamer.
See ClassBegin() method for more details.
void ClassMember(const char* name, const char* typeName, Int_t arrsize1, Int_t arrsize2)
Method indicates name and typename of class memeber,
which should be now streamed in custom streamer
Following combinations are supported:
1. name = "ClassName", typeName = 0 or typename==ClassName
This is a case, when data of parent class "ClassName" should be streamed.
For instance, if class directly inherited from TObject, custom
streamer should include following code:
b.ClassMember("TObject");
TObject::Streamer(b);
2. Basic data type
b.ClassMember("fInt","Int_t");
b >> fInt;
3. Array of basic data types
b.ClassMember("fArr","Int_t", 5);
b.ReadFastArray(fArr, 5);
4. Object as data member
b.ClassMemeber("fName","TString");
fName.Streamer(b);
5. Pointer on object as datamember
b.ClassMemeber("fObj","TObject*");
b.StreamObject(b);
arrsize1 and arrsize2 arguments (when specified) indicate first and
second dimension of array. Can be used for array of basic types.
For more details see ClassBegin() method description.
void WorkWithClass(const char* classname, Version_t classversion)
This function is a part of IncrementLevel method.
Also used in StartClass method
void WorkWithElement(TStreamerElement* elem, Int_t number)
This function is a part of SetStreamerElementNumber method.
It is introduced for reading of data for specified data memeber of class.
Used also in ReadFastArray methods to resolve problem of compressed data,
when several data memebers of the same basic type streamed with single ...FastArray call
TClass* ReadClass(const TClass*, UInt_t*)
suppressed function of TBuffer
void WriteClass(const TClass*)
suppressed function of TBuffer
Int_t CheckByteCount(UInt_t /*r_s */, UInt_t /*r_c*/, const TClass* /*cl*/)
suppressed function of TBuffer
Int_t CheckByteCount(UInt_t, UInt_t, const char*)
suppressed function of TBuffer
void SetByteCount(UInt_t, Bool_t)
suppressed function of TBuffer
Version_t ReadVersion(UInt_t *start, UInt_t *bcnt, const TClass *)
read version value from buffer
actually version is normally defined by table name
and kept in intermediate variable fReadVersionBuffer
UInt_t WriteVersion(const TClass *cl, Bool_t /* useBcnt */)
Copies class version to buffer, but not writes it to sql immidiately
Version will be used to produce complete table
name, which will include class version
void* ReadObjectAny(const TClass*)
Read object from buffer. Only used from TBuffer
void SkipObjectAny()
?????? Skip any kind of object from buffer
!!!!!! fix me, not yet implemented
Should be just skip of current column later
void WriteObject(const void *actualObjStart, const TClass *actualClass)
Write object to buffer. Only used from TBuffer
void ReadDouble32 (Double_t *d, TStreamerElement * /*ele*/)
Read Double_32 value
void WriteDouble32 (Double_t *d, TStreamerElement * /*ele*/)
Write Double_32 value
Int_t ReadArray(Bool_t *&b)
Read array of Bool_t from buffer
Int_t ReadArray(Char_t *&c)
Read array of Char_t from buffer
Int_t ReadArray(UChar_t *&c)
Read array of UChar_t from buffer
Int_t ReadArray(Short_t *&h)
Read array of Short_t from buffer
Int_t ReadArray(UShort_t *&h)
Read array of UShort_t from buffer
Int_t ReadArray(Int_t *&i)
Read array of Int_t from buffer
Int_t ReadArray(UInt_t *&i)
Read array of UInt_t from buffer
Int_t ReadArray(Long_t *&l)
Read array of Long_t from buffer
Int_t ReadArray(ULong_t *&l)
Read array of ULong_t from buffer
Int_t ReadArray(Long64_t *&l)
Read array of Long64_t from buffer
Int_t ReadArray(ULong64_t *&l)
Read array of ULong64_t from buffer
Int_t ReadArray(Float_t *&f)
Read array of Float_t from buffer
Int_t ReadArray(Double_t *&d)
Read array of Double_t from buffer
Int_t ReadArrayDouble32(Double_t *&d, TStreamerElement * /*ele*/)
Read array of Double32_t from buffer
Int_t ReadStaticArray(Bool_t *b)
Read array of Bool_t from buffer
Int_t ReadStaticArray(Char_t *c)
Read array of Char_t from buffer
Int_t ReadStaticArray(UChar_t *c)
Read array of UChar_t from buffer
Int_t ReadStaticArray(Short_t *h)
Read array of Short_t from buffer
Int_t ReadStaticArray(UShort_t *h)
Read array of UShort_t from buffer
Int_t ReadStaticArray(Int_t *i)
Read array of Int_t from buffer
Int_t ReadStaticArray(UInt_t *i)
Read array of UInt_t from buffer
Int_t ReadStaticArray(Long_t *l)
Read array of Long_t from buffer
Int_t ReadStaticArray(ULong_t *l)
Read array of ULong_t from buffer
Int_t ReadStaticArray(Long64_t *l)
Read array of Long64_t from buffer
Int_t ReadStaticArray(ULong64_t *l)
Read array of ULong64_t from buffer
Int_t ReadStaticArray(Float_t *f)
Read array of Float_t from buffer
Int_t ReadStaticArray(Double_t *d)
Read array of Double_t from buffer
Int_t ReadStaticArrayDouble32(Double_t *d, TStreamerElement * /*ele*/)
Read array of Double32_t from buffer
void ReadFastArray(Bool_t *b, Int_t n)
read array of Bool_t from buffer
void ReadFastArray(Char_t *c, Int_t n)
read array of Char_t from buffer
if nodename==CharStar, read all array as string
void ReadFastArray(UChar_t *c, Int_t n)
read array of UChar_t from buffer
void ReadFastArray(Short_t *h, Int_t n)
read array of Short_t from buffer
void ReadFastArray(UShort_t *h, Int_t n)
read array of UShort_t from buffer
void ReadFastArray(Int_t *i, Int_t n)
read array of Int_t from buffer
void ReadFastArray(UInt_t *i, Int_t n)
read array of UInt_t from buffer
void ReadFastArray(Long_t *l, Int_t n)
read array of Long_t from buffer
void ReadFastArray(ULong_t *l, Int_t n)
read array of ULong_t from buffer
void ReadFastArray(Long64_t *l, Int_t n)
read array of Long64_t from buffer
void ReadFastArray(ULong64_t *l, Int_t n)
read array of ULong64_t from buffer
void ReadFastArray(Float_t *f, Int_t n)
read array of Float_t from buffer
void ReadFastArray(Double_t *d, Int_t n)
read array of Double_t from buffer
void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerElement * /*ele*/)
read array of Double32_t from buffer
void ReadFastArray(void *start, const TClass *cl, Int_t n, TMemberStreamer *streamer)
Same functionality as TBuffer::ReadFastArray(...) but
instead of calling cl->Streamer(obj,buf) call here
buf.StreamObject(obj, cl). In that case it is easy to understand where
object data is started and finished
void ReadFastArray(void **start, const TClass *cl, Int_t n, Bool_t isPreAlloc, TMemberStreamer *streamer)
Same functionality as TBuffer::ReadFastArray(...) but
instead of calling cl->Streamer(obj,buf) call here
buf.StreamObject(obj, cl). In that case it is easy to understand where
object data is started and finished
Int_t SqlReadArraySize()
Reads array size, written in raw data table.
Used in ReadArray methods, where TBuffer need to read array size first.
void WriteArray(const Bool_t *b, Int_t n)
Write array of Bool_t to buffer
void WriteArray(const Char_t *c, Int_t n)
Write array of Char_t to buffer
void WriteArray(const UChar_t *c, Int_t n)
Write array of UChar_t to buffer
void WriteArray(const Short_t *h, Int_t n)
Write array of Short_t to buffer
void WriteArray(const UShort_t *h, Int_t n)
Write array of UShort_t to buffer
void WriteArray(const Int_t *i, Int_t n)
Write array of Int_ to buffer
void WriteArray(const UInt_t *i, Int_t n)
Write array of UInt_t to buffer
void WriteArray(const Long_t *l, Int_t n)
Write array of Long_t to buffer
void WriteArray(const ULong_t *l, Int_t n)
Write array of ULong_t to buffer
void WriteArray(const Long64_t *l, Int_t n)
Write array of Long64_t to buffer
void WriteArray(const ULong64_t *l, Int_t n)
Write array of ULong64_t to buffer
void WriteArray(const Float_t *f, Int_t n)
Write array of Float_t to buffer
void WriteArray(const Double_t *d, Int_t n)
Write array of Double_t to buffer
void WriteArrayDouble32(const Double_t *d, Int_t n, TStreamerElement * /*ele*/)
Write array of Double32_t to buffer
void WriteFastArray(const Bool_t *b, Int_t n)
Write array of Bool_t to buffer
void WriteFastArray(const Char_t *c, Int_t n)
Write array of Char_t to buffer
it will be reproduced as CharStar node with string as attribute
void WriteFastArray(const UChar_t *c, Int_t n)
Write array of UChar_t to buffer
void WriteFastArray(const Short_t *h, Int_t n)
Write array of Short_t to buffer
void WriteFastArray(const UShort_t *h, Int_t n)
Write array of UShort_t to buffer
void WriteFastArray(const Int_t *i, Int_t n)
Write array of Int_t to buffer
void WriteFastArray(const UInt_t *i, Int_t n)
Write array of UInt_t to buffer
void WriteFastArray(const Long_t *l, Int_t n)
Write array of Long_t to buffer
void WriteFastArray(const ULong_t *l, Int_t n)
Write array of ULong_t to buffer
void WriteFastArray(const Long64_t *l, Int_t n)
Write array of Long64_t to buffer
void WriteFastArray(const ULong64_t *l, Int_t n)
Write array of ULong64_t to buffer
void WriteFastArray(const Float_t *f, Int_t n)
Write array of Float_t to buffer
void WriteFastArray(const Double_t *d, Int_t n)
Write array of Double_t to buffer
void WriteFastArrayDouble32(const Double_t *d, Int_t n, TStreamerElement * /*ele*/)
Write array of Double32_t to buffer
void WriteFastArray(void *start, const TClass *cl, Int_t n, TMemberStreamer *streamer)
Same functionality as TBuffer::WriteFastArray(...) but
instead of calling cl->Streamer(obj,buf) call here
buf.StreamObject(obj, cl). In that case it is easy to understand where
object data is started and finished
Int_t WriteFastArray(void **start, const TClass *cl, Int_t n, Bool_t isPreAlloc, TMemberStreamer *streamer)
Same functionality as TBuffer::WriteFastArray(...) but
instead of calling cl->Streamer(obj,buf) call here
buf.StreamObject(obj, cl). In that case it is easy to understand where
object data is started and finished
void StreamObject(void *obj, const type_info &typeinfo)
steram object to/from buffer
void StreamObject(void *obj, const char *className)
steram object to/from buffer
void StreamObject(void *obj, const TClass *cl)
steram object to/from buffer
void StreamObject(TObject *obj)
steram object to/from buffer
void StreamObject(void *obj, TMemberStreamer *streamer, const TClass *cl, Int_t n)
steram object to/from buffer
Bool_t SqlWriteBasic(Char_t value)
converts Char_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Short_t value)
converts Short_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Int_t value)
converts Int_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Long_t value)
converts Long_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Long64_t value)
converts Long64_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Float_t value)
converts Float_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Double_t value)
converts Double_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(Bool_t value)
converts Bool_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(UChar_t value)
converts UChar_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(UShort_t value)
converts UShort_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(UInt_t value)
converts UInt_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(ULong_t value)
converts ULong_t to string and creates correspondent sql structure
Bool_t SqlWriteBasic(ULong64_t value)
converts ULong64_t to string and creates correspondent sql structure
Bool_t SqlWriteValue(const char* value, const char* tname)
create structure in stack, which holds specified value
void SqlReadBasic(Char_t& value)
read current value from table and convert it to Char_t value
void SqlReadBasic(Short_t& value)
read current value from table and convert it to Short_t value
void SqlReadBasic(Int_t& value)
read current value from table and convert it to Int_t value
void SqlReadBasic(Long_t& value)
read current value from table and convert it to Long_t value
void SqlReadBasic(Long64_t& value)
read current value from table and convert it to Long64_t value
void SqlReadBasic(Float_t& value)
read current value from table and convert it to Float_t value
void SqlReadBasic(Double_t& value)
read current value from table and convert it to Double_t value
void SqlReadBasic(Bool_t& value)
read current value from table and convert it to Bool_t value
void SqlReadBasic(UChar_t& value)
read current value from table and convert it to UChar_t value
void SqlReadBasic(UShort_t& value)
read current value from table and convert it to UShort_t value
void SqlReadBasic(UInt_t& value)
read current value from table and convert it to UInt_t value
void SqlReadBasic(ULong_t& value)
read current value from table and convert it to ULong_t value
void SqlReadBasic(ULong64_t& value)
read current value from table and convert it to ULong64_t value
const char* SqlReadValue(const char* tname)
read string value from current stack node
const char* SqlReadCharStarValue()
read CharStar value, if it has special code, request it from large table
TSQLStructure* PushStack()
Push stack with structurual information about streamed object
TSQLStructure* PopStack()
Pop stack
TSQLStructure* Stack(Int_t depth)
returns head of stack
Inline Functions
void operator=(const TBufferSQL2&)
TBufferSQL2 TBufferSQL2(TBuffer::EMode mode, TSQLFile* file)
void SetCompressionLevel(int level)
TSQLStructure* GetStructure() const
Int_t GetErrorFlag() const
void SetIgnoreVerification()
TBuffer& operator>>(Bool_t& b)
TBuffer& operator>>(Char_t& c)
TBuffer& operator>>(UChar_t& c)
TBuffer& operator>>(Short_t& h)
TBuffer& operator>>(UShort_t& h)
TBuffer& operator>>(Int_t& i)
TBuffer& operator>>(UInt_t& i)
TBuffer& operator>>(Long_t& l)
TBuffer& operator>>(ULong_t& l)
TBuffer& operator>>(Long64_t& l)
TBuffer& operator>>(ULong64_t& l)
TBuffer& operator>>(Float_t& f)
TBuffer& operator>>(Double_t& d)
TBuffer& operator>>(Char_t* c)
TBuffer& operator<<(Bool_t b)
TBuffer& operator<<(Char_t c)
TBuffer& operator<<(UChar_t c)
TBuffer& operator<<(Short_t h)
TBuffer& operator<<(UShort_t h)
TBuffer& operator<<(Int_t i)
TBuffer& operator<<(UInt_t i)
TBuffer& operator<<(Long_t l)
TBuffer& operator<<(ULong_t l)
TBuffer& operator<<(Long64_t l)
TBuffer& operator<<(ULong64_t l)
TBuffer& operator<<(Float_t f)
TBuffer& operator<<(Double_t d)
TBuffer& operator<<(const Char_t* c)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Sergey Linev 20/11/2005
Last update: root/sql:$Name: $:$Id: TBufferSQL2.cxx,v 1.9 2006/02/01 18:57:41 pcanal Exp $
Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.