library: libSQL #include "TSQLObjectData.h" |
TSQLObjectData
class description - source file - inheritance tree (.pdf)
protected:
Bool_t ExtractBlobValues()
const char* GetClassFieldName(Int_t n) const
Int_t GetNumClassFields()
public:
TSQLObjectData()
TSQLObjectData(TSQLClassInfo* sqlinfo, Long64_t objid, TSQLResult* classdata, TSQLRow* classrow, TSQLResult* blobdata)
TSQLObjectData(const TSQLObjectData&)
virtual ~TSQLObjectData()
void AddUnpack(const char* tname, const char* value)
void AddUnpackInt(const char* tname, Int_t value)
static TClass* Class()
const char* GetBlobName1() const
const char* GetBlobName2() const
const char* GetColumnName() const
TSQLClassInfo* GetInfo() const
Long64_t GetObjId() const
const char* GetValue() const
virtual TClass* IsA() const
Bool_t IsBlobData() const
Bool_t LocateColumn(const char* colname, Bool_t isblob = kFALSE)
Bool_t PrepareForRawData()
void ShiftToNextValue()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Bool_t VerifyDataType(const char* tname, Bool_t errormsg = kTRUE)
protected:
TSQLClassInfo* fInfo !
Long64_t fObjId !
Bool_t fOwner !
TSQLResult* fClassData !
TSQLResult* fBlobData !
Int_t fLocatedColumn !
Int_t fLocatedBlob !
TSQLRow* fClassRow !
TSQLRow* fBlobRow !
const char* fLocatedField !
const char* fLocatedValue !
Bool_t fCurrentBlob !
TString fBlobName1 !
TString fBlobName2 !
TObjArray* fUnpack !
TSQLObjectData is used in TBufferSQL2 class in reading procedure.
It contains data, request from database table for one specifc
object for one specific class. For instance, when data for
class TH1 required, requests will be done to
TH1_ver4 and TH1_streamer_ver4 tables and result of these reuests
will be kept in single TSQLObjectData instance.
________________________________________________________________________
TSQLObjectData() :
TObject(),
fInfo(0),
fObjId(0),
fOwner(kFALSE),
fClassData(0),
fBlobData(0),
fLocatedColumn(-1),
fClassRow(0),
fBlobRow(0),
fLocatedField(0),
fLocatedValue(0),
fCurrentBlob(kFALSE),
fBlobName1(),
fBlobName2(),
fUnpack(0)
default contrsuctor
TSQLObjectData(TSQLClassInfo* sqlinfo,
Long64_t objid,
TSQLResult* classdata,
TSQLRow* classrow,
TSQLResult* blobdata) :
TObject(),
fInfo(sqlinfo),
fObjId(objid),
fOwner(kFALSE),
fClassData(classdata),
fBlobData(blobdata),
fLocatedColumn(-1),
fClassRow(classrow),
fBlobRow(0),
fLocatedField(0),
fLocatedValue(0),
fCurrentBlob(kFALSE),
fBlobName1(),
fBlobName2(),
fUnpack(0)
normal contrsuctor,
~TSQLObjectData()
destructor of TSQLObjectData object
Int_t GetNumClassFields()
return number of columns in class table result
const char* GetClassFieldName(Int_t n)
get name of class table column
Bool_t LocateColumn(const char* colname, Bool_t isblob)
locate column of that name in results
Bool_t ExtractBlobValues()
extract from blob table value and names
void AddUnpack(const char* tname, const char* value)
add emulated data
this used to place version or TObject raw data, read from normal tables
void AddUnpackInt(const char* tname, Int_t value)
emulate integer value in raw data
void ShiftToNextValue()
shift to next column or next row in blob data
Bool_t VerifyDataType(const char* tname, Bool_t errormsg)
checks if data type corresponds to that stored in raw table
Bool_t PrepareForRawData()
prepare to read data from raw table
Inline Functions
Long64_t GetObjId() const
TSQLClassInfo* GetInfo() const
Bool_t IsBlobData() const
const char* GetValue() const
const char* GetColumnName() const
const char* GetBlobName1() const
const char* GetBlobName2() const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TSQLObjectData TSQLObjectData(const TSQLObjectData&)
Author: Sergey Linev 20/11/2005
Last update: root/sql:$Name: $:$Id: TSQLObjectData.cxx,v 1.4 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.