Concept: SQL corresponding to an Extended Context Query. More...
#include <TDbiSqlContext.hxx>
Concept: SQL corresponding to an Extended Context Query.
Purpose: To hide the SQL needed to query the VLD tables.
Definition at line 22 of file TDbiSqlContext.hxx.
Definition at line 30 of file TDbiSqlContext.hxx.
00030 { kBefore, kAfter, kMisses, 00031 kThroughout, kWithin, kOverlaps, 00032 kStarts, kEnds, 00033 kUndefined };
TDbiSqlContext::TDbiSqlContext | ( | const std::string & | ctxt = "" |
) |
TDbiSqlContext::TDbiSqlContext | ( | IntervalType | interval, | |
TVldTimeStamp | start, | |||
TVldTimeStamp | end, | |||
DbiDetector::Detector_t | det, | |||
DbiSimFlag::SimFlag_t | sim | |||
) |
Definition at line 38 of file TDbiSqlContext.cxx.
References TVldTimeStamp::AsString(), fDetType, fSimType, kAfter, kBefore, kEnds, kMisses, kOverlaps, kStarts, kThroughout, kWithin, and SK_DBI_Trace.
00042 : 00043 fIntervalType(interval), 00044 fTimeStart(start), 00045 fTimeEnd(end), 00046 fDetType(det), 00047 fSimType(sim) 00048 { 00049 // 00050 // Purpose: Main constructor 00051 // 00052 // Contact: N. West 00053 // 00054 00055 00056 SK_DBI_Trace( "Creating TDbiSqlContext" << " "); 00057 00058 switch (interval) { 00059 00060 case kBefore: 00061 (*this) << "TIMEEND <= \'" << start.AsString("s") << '\''; 00062 break; 00063 00064 case kAfter: 00065 (*this) << "TIMESTART >= \'" << end.AsString("s") << '\''; 00066 break; 00067 00068 case kMisses: 00069 (*this) << "TIMESTART >= \'" << end.AsString("s") << '\'' 00070 << " or TIMEEND <= \'" << start.AsString("s") << '\''; 00071 break; 00072 00073 case kThroughout: 00074 (*this) << "TIMESTART <= \'" << start.AsString("s") << '\'' 00075 << " and TIMEEND >= \'" << end.AsString("s") << '\''; 00076 break; 00077 00078 case kWithin: 00079 (*this) << "TIMESTART >= \'" << start.AsString("s") << '\'' 00080 << " and TIMEEND <= \'" << end.AsString("s") << '\''; 00081 break; 00082 00083 case kOverlaps: 00084 (*this) << "TIMESTART < \'" << end.AsString("s") << '\'' 00085 << " and TIMEEND > \'" << start.AsString("s") << '\''; 00086 break; 00087 00088 case kStarts: 00089 (*this) << "TIMESTART >= \'" << start.AsString("s") << '\'' 00090 << " and TIMESTART < \'" << end.AsString("s") << '\''; 00091 break; 00092 00093 case kEnds: 00094 (*this) << "TIMEEND > \'" << start.AsString("s") << '\'' 00095 << " and TIMEEND <= \'" << end.AsString("s") << '\''; 00096 break; 00097 00098 default: 00099 (*this) << " 1 = 0 "; //An impossible condition (hopefully) 00100 } 00101 00102 (*this) << " and DetectorMask & " << static_cast<unsigned int>(fDetType) 00103 << " and SimMask & " << static_cast<unsigned int>(fSimType); 00104 }
TDbiSqlContext::~TDbiSqlContext | ( | ) | [virtual] |
Definition at line 109 of file TDbiSqlContext.cxx.
References SK_DBI_Trace.
00109 { 00110 // 00111 // 00112 // Purpose: Destructor 00113 // 00114 // Contact: N. West 00115 // 00116 00117 00118 SK_DBI_Trace( "Destroying TDbiSqlContext" << " "); 00119 00120 }
const Char_t* TDbiString::c_str | ( | ) | const [inline, inherited] |
Definition at line 48 of file TDbiString.hxx.
References TDbiString::fString.
Referenced by TDbiDBProxy::FindTimeBoundaries(), TDbiDBProxy::QuerySeqNo(), TDbiDBProxy::QuerySeqNos(), TDbiDBProxy::QueryValidity(), TDbiDBProxy::RemoveSeqNo(), TDbiDBProxy::ReplaceInsertDate(), TDbiDBProxy::ReplaceSeqNo(), and TDbiCascader::ReserveNextSeqNo().
00048 { return fString.c_str(); }
void TDbiString::Clear | ( | ) | [inline, inherited] |
Definition at line 58 of file TDbiString.hxx.
References TDbiString::fString.
Referenced by TDbiCascader::ReserveNextSeqNo().
00058 { fString.clear(); }
DbiDetector::Detector_t TDbiSqlContext::GetDetector | ( | ) | const [inline] |
DbiSimFlag::SimFlag_t TDbiSqlContext::GetSimFlag | ( | ) | const [inline] |
std::string& TDbiString::GetString | ( | ) | [inline, inherited] |
Definition at line 59 of file TDbiString.hxx.
References TDbiString::fString.
00059 { return fString; }
const std::string& TDbiString::GetString | ( | ) | const [inline, inherited] |
Definition at line 49 of file TDbiString.hxx.
References TDbiString::fString.
Referenced by TDbiDBProxy::QueryAllValidities(), TDbiDBProxy::RemoveSeqNo(), TDbiDBProxy::ReplaceSeqNo(), and TDbiTableMetaData::Sql().
00049 { return fString; }
TVldTimeStamp TDbiSqlContext::GetTimeEnd | ( | ) | const [inline] |
TVldTimeStamp TDbiSqlContext::GetTimeStart | ( | ) | const [inline] |
Definition at line 47 of file TDbiSqlContext.hxx.
References fTimeStart.
00047 { return fTimeStart; }
TDbiString & TDbiString::operator<< | ( | const std::string & | data | ) | [inherited] |
Definition at line 158 of file TDbiString.cxx.
References TDbiString::fString.
00158 { 00159 fString.append(data); return *this; }
TDbiString & TDbiString::operator<< | ( | const Char_t * | data | ) | [inherited] |
Definition at line 156 of file TDbiString.cxx.
References TDbiString::fString.
00156 { 00157 fString.append(data); return *this; }
TDbiString & TDbiString::operator<< | ( | Char_t | data | ) | [inherited] |
Definition at line 154 of file TDbiString.cxx.
References TDbiString::fString.
00154 { 00155 fString.append(1,data); return *this; }
TDbiString & TDbiString::operator<< | ( | Float_t | data | ) | [inherited] |
TDbiString & TDbiString::operator<< | ( | UInt_t | data | ) | [inherited] |
TDbiString & TDbiString::operator<< | ( | Int_t | data | ) | [inherited] |
Definition at line 62 of file TDbiSqlContext.hxx.
Referenced by GetDetector(), and TDbiSqlContext().
IntervalType TDbiSqlContext::fIntervalType [private] |
Definition at line 59 of file TDbiSqlContext.hxx.
Definition at line 63 of file TDbiSqlContext.hxx.
Referenced by GetSimFlag(), and TDbiSqlContext().
TVldTimeStamp TDbiSqlContext::fTimeEnd [private] |
Definition at line 61 of file TDbiSqlContext.hxx.
Referenced by GetTimeEnd().
TVldTimeStamp TDbiSqlContext::fTimeStart [private] |
Definition at line 60 of file TDbiSqlContext.hxx.
Referenced by GetTimeStart().