#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 | ) |
1.5.1