#include "TBufferSQL2.h"
#include "TObjArray.h"
#include "TROOT.h"
#include "TDataType.h"
#include "TClass.h"
#include "TClassTable.h"
#include "TMap.h"
#include "TExMap.h"
#include "TMethodCall.h"
#include "TStreamerInfo.h"
#include "TStreamerElement.h"
#include "TProcessID.h"
#include "TFile.h"
#include "TMemberStreamer.h"
#include "TStreamer.h"
#include "Riostream.h"
#include <stdlib.h>
#include "TStreamerInfoActions.h"
#include "TSQLServer.h"
#include "TSQLResult.h"
#include "TSQLRow.h"
#include "TSQLStructure.h"
#include "TSQLObjectData.h"
#include "TSQLFile.h"
#include "TSQLClassInfo.h"
Go to the source code of this file.
Defines | |
#define | FLong64 "%lld" |
#define | FULong64 "%llu" |
#define | SQLReadArrayUncompress(vname, arrsize) |
#define | SQLReadArrayCompress(vname, arrsize) |
#define | SQLReadArrayContent(vname, arrsize, withsize) |
#define | TBufferSQL2_ReadArray(tname, vname) |
#define | TBufferSQL2_ReadStaticArray(vname) |
#define | TBufferSQL2_ReadFastArray(vname) |
#define | SQLWriteArrayNoncompress(vname, arrsize) |
#define | SQLWriteArrayCompress(vname, arrsize) |
#define | SQLWriteArrayContent(vname, arrsize, withsize) |
#define | TBufferSQL2_WriteArray(vname) |
#define | TBufferSQL2_WriteFastArray(vname) |
#define | TBufferSQL2_operatorin(vname) |
#define | TBufferSQL2_operatorout(vname) |
Functions | |
ClassImp (TBufferSQL2) |
#define FLong64 "%lld" |
Definition at line 55 of file TBufferSQL2.cxx.
Referenced by sqlio::atol64(), TBufferSQL2::SqlReadBasic(), TBufferSQL2::SqlReadObject(), TBufferXML::XmlReadBasic(), and TBufferXML::XmlWriteBasic().
#define FULong64 "%llu" |
Definition at line 56 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::SqlReadBasic(), TBufferSQL2::SqlWriteBasic(), TBufferXML::XmlReadBasic(), and TBufferXML::XmlWriteBasic().
#define SQLReadArrayCompress | ( | vname, | |||
arrsize | ) |
Value:
{ \ while(indx<arrsize) { \ const char* name = fCurrentData->GetBlobPrefixName(); \ Int_t first, last, res; \ if (strstr(name,sqlio::IndexSepar)==0) { \ res = sscanf(name,"[%d", &first); last = first; \ } else res = sscanf(name,"[%d..%d", &first, &last); \ if (gDebug>5) cout << name << " first = " << first << " last = " << last << " res = " << res << endl; \ if ((first!=indx) || (last<first) || (last>=arrsize)) { \ Error("SQLReadArrayCompress","Error reading array content %s", name); \ fErrorFlag = 1; \ break; \ } \ SqlReadBasic(vname[indx]); indx++; \ while(indx<=last) \ vname[indx++] = vname[first]; \ } \ }
Definition at line 1022 of file TBufferSQL2.cxx.
#define SQLReadArrayContent | ( | vname, | |||
arrsize, | |||||
withsize | ) |
Value:
{ \ if (gDebug>3) cout << "SQLReadArrayContent " << (arrsize) << endl; \ PushStack()->SetArray(withsize ? arrsize : -1); \ Int_t indx = 0; \ if (fCurrentData->IsBlobData()) \ SQLReadArrayCompress(vname, arrsize) \ else \ SQLReadArrayUncompress(vname, arrsize) \ PopStack(); \ if (gDebug>3) cout << "SQLReadArrayContent done " << endl; \ }
Definition at line 1044 of file TBufferSQL2.cxx.
#define SQLReadArrayUncompress | ( | vname, | |||
arrsize | ) |
Value:
{ \
while(indx<arrsize) \
SqlReadBasic(vname[indx++]); \
}
Definition at line 1015 of file TBufferSQL2.cxx.
#define SQLWriteArrayCompress | ( | vname, | |||
arrsize | ) |
Value:
{ \ Int_t indx = 0; \ while(indx<arrsize) { \ Int_t curr = indx; indx++; \ while ((indx<arrsize) && (vname[indx]==vname[curr])) indx++; \ SqlWriteBasic(vname[curr]); \ Stack()->ChildArrayIndex(curr, indx-curr); \ } \ }
Definition at line 1644 of file TBufferSQL2.cxx.
#define SQLWriteArrayContent | ( | vname, | |||
arrsize, | |||||
withsize | ) |
Value:
{ \ PushStack()->SetArray(withsize ? arrsize : -1); \ if (fCompressLevel>0) { \ SQLWriteArrayCompress(vname, arrsize) \ } else { \ SQLWriteArrayNoncompress(vname, arrsize) \ } \ PopStack(); \ }
Definition at line 1655 of file TBufferSQL2.cxx.
#define SQLWriteArrayNoncompress | ( | vname, | |||
arrsize | ) |
Value:
{ \ for(Int_t indx=0;indx<arrsize;indx++) { \ SqlWriteBasic(vname[indx]); \ Stack()->ChildArrayIndex(indx, 1); \ } \ }
Definition at line 1635 of file TBufferSQL2.cxx.
#define TBufferSQL2_operatorin | ( | vname | ) |
Value:
{ \ SqlReadBasic(vname); \ }
Definition at line 2080 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::ReadBool(), TBufferSQL2::ReadChar(), TBufferSQL2::ReadDouble(), TBufferSQL2::ReadFloat(), TBufferSQL2::ReadInt(), TBufferSQL2::ReadLong(), TBufferSQL2::ReadLong64(), TBufferSQL2::ReadShort(), TBufferSQL2::ReadUChar(), TBufferSQL2::ReadUInt(), TBufferSQL2::ReadULong(), TBufferSQL2::ReadULong64(), and TBufferSQL2::ReadUShort().
#define TBufferSQL2_operatorout | ( | vname | ) |
Value:
{ \ SqlWriteBasic(vname); \ }
Definition at line 2219 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::WriteBool(), TBufferSQL2::WriteChar(), TBufferSQL2::WriteDouble(), TBufferSQL2::WriteFloat(), TBufferSQL2::WriteInt(), TBufferSQL2::WriteLong(), TBufferSQL2::WriteLong64(), TBufferSQL2::WriteShort(), TBufferSQL2::WriteUChar(), TBufferSQL2::WriteUInt(), TBufferSQL2::WriteULong(), TBufferSQL2::WriteULong64(), and TBufferSQL2::WriteUShort().
#define TBufferSQL2_ReadArray | ( | tname, | |||
vname | ) |
Value:
{ \ Int_t n = SqlReadArraySize(); \ if (n<=0) return 0; \ if (!vname) vname = new tname[n]; \ SQLReadArrayContent(vname, n, kTRUE); \ return n; \ }
Definition at line 1058 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::ReadArray(), TBufferSQL2::ReadArrayDouble32(), and TBufferSQL2::ReadArrayFloat16().
#define TBufferSQL2_ReadFastArray | ( | vname | ) |
Value:
{ \ if (n<=0) return; \ TStreamerElement* elem = Stack(0)->GetElement(); \ if ((elem!=0) && (elem->GetType()>TStreamerInfo::kOffsetL) && \ (elem->GetType()<TStreamerInfo::kOffsetP) && \ (elem->GetArrayLength()!=n)) fExpectedChain = kTRUE; \ if (fExpectedChain) { \ fExpectedChain = kFALSE; \ Int_t startnumber = Stack(0)->GetElementNumber(); \ TStreamerInfo* info = Stack(1)->GetStreamerInfo(); \ Int_t number = 0; \ Int_t index = 0; \ while (index<n) { \ elem = info->GetStreamerElementReal(startnumber, number++); \ if (number>1) { PopStack(); WorkWithElement(elem, startnumber); } \ if (elem->GetType()<TStreamerInfo::kOffsetL) { \ SqlReadBasic(vname[index]); \ index++; \ } else { \ Int_t elemlen = elem->GetArrayLength(); \ SQLReadArrayContent((vname+index), elemlen, kFALSE); \ index+=elemlen; \ } \ } \ } else { \ SQLReadArrayContent(vname, n, kFALSE); \ } \ }
Definition at line 1391 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::ReadFastArray(), TBufferSQL2::ReadFastArrayDouble32(), and TBufferSQL2::ReadFastArrayFloat16().
#define TBufferSQL2_ReadStaticArray | ( | vname | ) |
Value:
{ \ Int_t n = SqlReadArraySize(); \ if (n<=0) return 0; \ if (!vname) return 0; \ SQLReadArrayContent(vname, n, kTRUE); \ return n; \ }
Definition at line 1260 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::ReadStaticArray(), TBufferSQL2::ReadStaticArrayDouble32(), and TBufferSQL2::ReadStaticArrayFloat16().
#define TBufferSQL2_WriteArray | ( | vname | ) |
Value:
{ \ SQLWriteArrayContent(vname, n, kTRUE); \ }
Definition at line 1667 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::WriteArray(), TBufferSQL2::WriteArrayDouble32(), and TBufferSQL2::WriteArrayFloat16().
#define TBufferSQL2_WriteFastArray | ( | vname | ) |
Value:
{ \ if (n<=0) return; \ TStreamerElement* elem = Stack(0)->GetElement(); \ if ((elem!=0) && (elem->GetType()>TStreamerInfo::kOffsetL) && \ (elem->GetType()<TStreamerInfo::kOffsetP) && \ (elem->GetArrayLength()!=n)) fExpectedChain = kTRUE; \ if (fExpectedChain) { \ TStreamerInfo* info = Stack(1)->GetStreamerInfo(); \ Int_t startnumber = Stack(0)->GetElementNumber(); \ Int_t number = 0; \ Int_t index = 0; \ while (index<n) { \ elem = info->GetStreamerElementReal(startnumber, number++); \ if (number>1) { PopStack(); WorkWithElement(elem, startnumber + number); } \ if (elem->GetType()<TStreamerInfo::kOffsetL) { \ SqlWriteBasic(vname[index]); \ index++; \ } else { \ Int_t elemlen = elem->GetArrayLength(); \ SQLWriteArrayContent((vname+index), elemlen, kFALSE); \ index+=elemlen; \ } \ fExpectedChain = kFALSE; \ } \ } else { \ SQLWriteArrayContent(vname, n, kFALSE); \ } \ }
Definition at line 1794 of file TBufferSQL2.cxx.
Referenced by TBufferSQL2::WriteFastArray(), TBufferSQL2::WriteFastArrayDouble32(), and TBufferSQL2::WriteFastArrayFloat16().
ClassImp | ( | TBufferSQL2 | ) |