Concept ResultNonAgg is a concrete sub-class of TDbiResultSet that represents a single database query for a non-aggregated table. More...
#include <TDbiResultSetNonAgg.hxx>
Public Member Functions | |
TDbiResultSetNonAgg (TDbiInRowStream *resultSet=0, const TDbiTableRow *tableRow=0, const TDbiValidityRec *vrec=0, Bool_t dropSeqNo=kTRUE, const string &sqlQualifiers="") | |
virtual | ~TDbiResultSetNonAgg () |
virtual TDbiResultKey * | CreateKey () const |
Purpose: Create a key that corresponds to this result. | |
virtual UInt_t | GetNumAggregates () const |
virtual UInt_t | GetNumRows () const |
virtual const TDbiTableRow * | GetTableRow (UInt_t rowNum) const |
virtual const TDbiTableRow * | GetTableRowByIndex (UInt_t index) const |
virtual Bool_t | Owns (const TDbiTableRow *row) const |
Bool_t | Satisfies (const TDbiValidityRec &vrec, const string &sqlQualifiers="") |
Purpose: Check to see if this Result matches the supplied TDbiValidityRec. | |
virtual void | Streamer (TDbiBinaryFile &file) |
virtual Bool_t | CanReuse () const |
virtual Bool_t | CanSave () const |
virtual void | Connect () const |
virtual void | Disconnect () const |
const TDbiExceptionLog & | GetExceptionLog () const |
Int_t | GetID () const |
virtual const TDbiResultKey * | GetKey () const |
virtual UInt_t | GetNumClients () const |
const string & | GetSqlQualifiers () const |
virtual const TDbiValidityRec & | GetValidityRec (const TDbiTableRow *=0) const |
virtual const TDbiValidityRec & | GetValidityRecGlobal () const |
Bool_t | IsExtendedContext () const |
Bool_t | ResultsFromDb () const |
virtual const string & | TableName () const |
void | CaptureExceptionLog (UInt_t startFrom) |
virtual Bool_t | CanDelete (const TDbiResultSet *res=0) |
Return true if no clients and unlikely to be reused. | |
virtual Bool_t | Satisfies (const TVldContext &vc, const TDbi::Task &task) |
virtual Bool_t | Satisfies (const string &) |
virtual void | GenerateKey () |
Key handling. | |
virtual void | SetCanReuse (Bool_t reuse) |
Protected Member Functions | |
void | SetResultsFromDb () |
void | BuildLookUpTable () const |
Bool_t | LookUpBuilt () const |
virtual void | SetTableName (const string &tableName) |
virtual void | SetValidityRec (const TDbiValidityRec &vRec) |
Private Member Functions | |
void | DebugCtor () const |
Private Attributes | |
std::vector< TDbiTableRow * > | fRows |
Set of table rows eqv. to ResultSet. | |
char * | fBuffer |
Not null only if table rows read from BinaryFile. |
Concept ResultNonAgg is a concrete sub-class of TDbiResultSet that represents a single database query for a non-aggregated table.
Purpose See TDbiResultSet.
Contact: A.Finch@lancaster.ac.uk
Definition at line 35 of file TDbiResultSetNonAgg.hxx.
TDbiResultSetNonAgg::TDbiResultSetNonAgg | ( | TDbiInRowStream * | resultSet = 0 , |
|
const TDbiTableRow * | tableRow = 0 , |
|||
const TDbiValidityRec * | vrec = 0 , |
|||
Bool_t | dropSeqNo = kTRUE , |
|||
const string & | sqlQualifiers = "" | |||
) |
TDbiResultSetNonAgg::~TDbiResultSetNonAgg | ( | ) | [virtual] |
Purpose: Destructor Arguments: None. Return: n/a Contact: N. West Specification:- ============= o Destroy ResultNonAgg and all its owned TDbiTableRow subclass objects. Program Notes:- ============= If fRows restored from BinaryFile then it doesn't own its TDbiTableRows.
Definition at line 159 of file TDbiResultSetNonAgg.cxx.
References fBuffer, fRows, and SK_DBI_Trace.
void TDbiResultSet::BuildLookUpTable | ( | ) | const [protected, inherited] |
Definition at line 133 of file TDbiResultSet.cxx.
References TDbiResultSet::fIndexKeys, TDbiTableRow::GetAggregateNo(), TDbiTableRow::GetIndex(), TDbiResultSet::GetNumRows(), TDbiTableRow::GetOwner(), TDbiValidityRec::GetSeqNo(), TDbiResultSet::GetTableRow(), TDbiResultSet::GetTableRowByIndex(), TDbiResultSet::GetValidityRec(), TDbiResultSet::IsExtendedContext(), SK_DBI_Severe, SK_DBI_Verbose, and TDbiResultSet::TableName().
Referenced by GetTableRowByIndex(), and Streamer().
00133 { 00134 // 00135 // 00136 // Purpose: Build look-up Natural Index -> TableRow. 00137 // 00138 // Contact: N. West 00139 // 00140 // Program Notes:- 00141 // ============= 00142 // 00143 // This member function assumes that the sub-class can support 00144 // the GetTableRow(...) and GetNumRows methods so take care if 00145 // called in the sub-class ctor. 00146 00147 // Extended Context serach can produce duplicates. 00148 Bool_t duplicatesOK = this->IsExtendedContext(); 00149 00150 SK_DBI_Verbose( "Building look-uptable. Allow duplicates: " 00151 << duplicatesOK << " "); 00152 00153 for ( Int_t rowNo = this->GetNumRows()-1; 00154 rowNo >= 0; 00155 --rowNo ) { 00156 const TDbiTableRow* row = this->GetTableRow(rowNo); 00157 UInt_t index = row->GetIndex(rowNo); 00158 // Ensure we use this class's GetTableRowByIndex, the method is 00159 // virtual but if the subclass has called this method then it must 00160 // be the right one to use. [Actually TDbiResultSetAgg overrides 00161 // GetTableRowByIndex, but only to make building lazy]. 00162 const TDbiTableRow* row2 = this->TDbiResultSet::GetTableRowByIndex(index); 00163 00164 SK_DBI_Verbose( "Look-up. Row no " << rowNo 00165 << " index " << index 00166 << " row,row2 " << (void*) row << "," << (void*) row2 << " "); 00167 00168 if ( row2 != 0 && row2 != row && ! duplicatesOK ) { 00169 std::ostringstream msg; 00170 msg << "Duplicated row natural index: " << index 00171 << " Found at row " << rowNo 00172 << " of table " << this->TableName() 00173 << ":-\n index of agg " << row->GetAggregateNo(); 00174 if ( row->GetOwner() ) msg << "(SEQNO " << row->GetOwner()->GetValidityRec(row).GetSeqNo() << ")"; 00175 msg << " matches agg " << row2->GetAggregateNo(); 00176 if ( row2->GetOwner() ) msg << "(SEQNO " << row2->GetOwner()->GetValidityRec(row2).GetSeqNo() << ")"; 00177 SK_DBI_Severe( msg.str() << " "); 00178 } 00179 00180 else fIndexKeys[index] = row; 00181 } 00182 00183 }
Bool_t TDbiResultSet::CanDelete | ( | const TDbiResultSet * | res = 0 |
) | [virtual, inherited] |
Return true if no clients and unlikely to be reused.
Definition at line 187 of file TDbiResultSet.cxx.
References TDbiResultSet::CanReuse(), TDbiResultSet::GetNumClients(), TDbiResultSet::GetValidityRec(), and TDbiResultSet::SetCanReuse().
Referenced by TDbiCache::Purge().
00187 { 00188 // 00189 // 00190 // Purpose: See if suitable for deleting. 00191 // 00192 // Arguments: 00193 // res in A TDbiResultSet that is currently used. 00194 // Optional: default = 0. 00195 00196 // If the query would be satisfied apart from the date, then 00197 // assume we have moved out of the validity window, never 00198 // to return! 00199 00200 if ( res 00201 && this->CanReuse() 00202 && this->GetValidityRec().HasExpired(res->GetValidityRec()) 00203 ) this->SetCanReuse(kFALSE); 00204 00205 return ! this->GetNumClients() && ! this->CanReuse(); 00206 }
virtual Bool_t TDbiResultSet::CanReuse | ( | ) | const [inline, virtual, inherited] |
Definition at line 62 of file TDbiResultSet.hxx.
References TDbiResultSet::fCanReuse.
Referenced by TDbiResultSet::CanDelete(), Satisfies(), TDbiResultSetAgg::Satisfies(), and TDbiResultSet::Satisfies().
00062 { return fCanReuse; }
virtual Bool_t TDbiResultSet::CanSave | ( | ) | const [inline, virtual, inherited] |
Definition at line 63 of file TDbiResultSet.hxx.
Referenced by TDbiTableProxy::SaveToL2Cache().
void TDbiResultSet::CaptureExceptionLog | ( | UInt_t | startFrom | ) | [inherited] |
Definition at line 210 of file TDbiResultSet.cxx.
References TDbiExceptionLog::Clear(), TDbiExceptionLog::Copy(), TDbiResultSet::fExceptionLog, and TDbiExceptionLog::GetGELog().
Referenced by TDbiTableProxy::Query().
00210 { 00211 // 00212 // 00213 // Purpose: Capture Exception Log from latest entries in Global Exception Log. 00214 00215 fExceptionLog.Clear(); 00216 TDbiExceptionLog::GetGELog().Copy(fExceptionLog,startFrom); 00217 00218 }
virtual void TDbiResultSet::Connect | ( | ) | const [inline, virtual, inherited] |
Definition at line 64 of file TDbiResultSet.hxx.
References TDbiResultSet::fNumClients.
00064 { ++fNumClients; }
TDbiResultKey * TDbiResultSetNonAgg::CreateKey | ( | ) | const [virtual] |
Purpose: Create a key that corresponds to this result.
Implements TDbiResultSet.
Definition at line 174 of file TDbiResultSetNonAgg.cxx.
References TDbiValidityRec::GetCreationDate(), TDbiValidityRec::GetSeqNo(), GetTableRow(), TDbiResultSet::GetValidityRec(), and TDbiResultSet::TableName().
00174 { 00175 // 00176 // 00177 00178 00179 00180 string rowName("empty_table"); 00181 const TDbiTableRow* row = this->GetTableRow(0); 00182 if ( row ) rowName = row->GetName(); 00183 const TDbiValidityRec& vrec = this->GetValidityRec(); 00184 return new TDbiResultKey(this->TableName(), 00185 rowName, 00186 vrec.GetSeqNo(), 00187 vrec.GetCreationDate() ); 00188 00189 }
void TDbiResultSetNonAgg::DebugCtor | ( | ) | const [private] |
Definition at line 193 of file TDbiResultSetNonAgg.cxx.
References SK_DBI_Trace.
00193 { 00194 00195 SK_DBI_Trace( "Creating TDbiResultSetNonAgg" << (void*) this << " "); 00196 static const TDbiResultSetNonAgg* that = 0; 00197 if ( this == that ) { 00198 cout << "debug " << (void*) this << endl; 00199 } 00200 }
virtual void TDbiResultSet::Disconnect | ( | ) | const [inline, virtual, inherited] |
Definition at line 66 of file TDbiResultSet.hxx.
References TDbiResultSet::fNumClients.
00066 { --fNumClients; }
void TDbiResultSet::GenerateKey | ( | ) | [virtual, inherited] |
Key handling.
Definition at line 222 of file TDbiResultSet.cxx.
References TDbiResultSet::CreateKey(), TDbiResultSet::fKey, and TDbiResultSet::GetNumRows().
Referenced by TDbiCache::Adopt().
00222 { 00223 // 00224 // 00225 // Purpose: Create key if set not empty and not already done. 00226 00227 if ( fKey || this->GetNumRows() == 0) return; 00228 fKey = this->CreateKey(); 00229 00230 }
const TDbiExceptionLog& TDbiResultSet::GetExceptionLog | ( | ) | const [inline, inherited] |
Definition at line 67 of file TDbiResultSet.hxx.
References TDbiResultSet::fExceptionLog.
00067 { return fExceptionLog; }
Int_t TDbiResultSet::GetID | ( | ) | const [inline, inherited] |
Definition at line 68 of file TDbiResultSet.hxx.
References TDbiResultSet::fID.
00068 { return fID; }
const TDbiResultKey * TDbiResultSet::GetKey | ( | ) | const [virtual, inherited] |
Definition at line 234 of file TDbiResultSet.cxx.
References TDbiResultSet::fKey, and TDbiResultKey::GetEmptyKey().
Referenced by TDbiCache::Adopt().
00234 { 00235 00236 // Purpose: Get the associated TDbiResultKey, or an empty one if none exists. 00237 00238 return fKey ? fKey : TDbiResultKey::GetEmptyKey(); 00239 00240 }
virtual UInt_t TDbiResultSetNonAgg::GetNumAggregates | ( | ) | const [inline, virtual] |
Implements TDbiResultSet.
Definition at line 57 of file TDbiResultSetNonAgg.hxx.
virtual UInt_t TDbiResultSet::GetNumClients | ( | ) | const [inline, virtual, inherited] |
Definition at line 71 of file TDbiResultSet.hxx.
References TDbiResultSet::fNumClients.
Referenced by TDbiResultSet::CanDelete(), TDbiCache::Purge(), and TDbiResultSet::Satisfies().
00071 { 00072 return fNumClients; }
virtual UInt_t TDbiResultSetNonAgg::GetNumRows | ( | ) | const [inline, virtual] |
Implements TDbiResultSet.
Definition at line 58 of file TDbiResultSetNonAgg.hxx.
References fRows.
Referenced by ClassImp(), TDbiTableProxy::Query(), and TDbiValidityRecBuilder::TDbiValidityRecBuilder().
00058 { 00059 return fRows.size(); }
const string& TDbiResultSet::GetSqlQualifiers | ( | ) | const [inline, inherited] |
Definition at line 74 of file TDbiResultSet.hxx.
References TDbiResultSet::fSqlQualifiers.
Referenced by TDbiResultSet::IsExtendedContext(), Satisfies(), and TDbiResultSetAgg::Satisfies().
00074 { return fSqlQualifiers; }
const TDbiTableRow * TDbiResultSetNonAgg::GetTableRow | ( | UInt_t | rowNum | ) | const [virtual] |
Purpose: Return TableRow from last query. Arguments: rowNum in Required row number (0..NumRows-1) Return: TableRow ptr, or =0 if no row. Contact: N. West Specification:- ============= o Return TableRow from last query, or =0 if no row.
Implements TDbiResultSet.
Definition at line 218 of file TDbiResultSetNonAgg.cxx.
References fRows.
Referenced by ClassImp(), CreateKey(), TDbiTableProxy::Query(), and TDbiValidityRecBuilder::TDbiValidityRecBuilder().
00218 { 00219 00220 // Program Notes:- 00221 // ============= 00222 00223 // None. 00224 00225 if ( rowNum >= fRows.size() ) return 0; 00226 return fRows[rowNum]; 00227 }
const TDbiTableRow * TDbiResultSetNonAgg::GetTableRowByIndex | ( | UInt_t | index | ) | const [virtual] |
Purpose: Return TableRow with supplied index, or =0 if no row. Arguments: index in Required index. Return: TableRow with required index, or =0 if no row. Contact: N. West Specification:- ============= o If look-up table not yet built, build it. o Return TableRow with supplied index, or =0 if no row.
Reimplemented from TDbiResultSet.
Definition at line 248 of file TDbiResultSetNonAgg.cxx.
References TDbiResultSet::BuildLookUpTable(), and TDbiResultSet::LookUpBuilt().
00248 { 00249 00250 00251 if ( ! this->LookUpBuilt() ) this->BuildLookUpTable(); 00252 00253 // The real look-up still takes place in the base class. 00254 return this->TDbiResultSet::GetTableRowByIndex(index); 00255 00256 }
virtual const TDbiValidityRec& TDbiResultSet::GetValidityRec | ( | const TDbiTableRow * | = 0 |
) | const [inline, virtual, inherited] |
Reimplemented in TDbiResultSetAgg.
Definition at line 77 of file TDbiResultSet.hxx.
References TDbiResultSet::GetValidityRecGlobal().
Referenced by TDbiCache::Adopt(), TDbiResultSet::BuildLookUpTable(), TDbiResultSet::CanDelete(), CreateKey(), TDbiResultSetAgg::CreateKey(), TDbiCache::Purge(), TDbiTableProxy::RestoreFromL2Cache(), Satisfies(), and TDbiResultSet::Satisfies().
00078 { 00079 return GetValidityRecGlobal(); }
virtual const TDbiValidityRec& TDbiResultSet::GetValidityRecGlobal | ( | ) | const [inline, virtual, inherited] |
Definition at line 80 of file TDbiResultSet.hxx.
References TDbiResultSet::fEffVRec.
Referenced by TDbiCache::Adopt(), TDbiResultSetAgg::GetValidityRec(), TDbiResultSet::GetValidityRec(), and TDbiResultSetAgg::Streamer().
00080 { 00081 return fEffVRec; }
Bool_t TDbiResultSet::IsExtendedContext | ( | ) | const [inline, inherited] |
Definition at line 82 of file TDbiResultSet.hxx.
References TDbiResultSet::GetSqlQualifiers().
Referenced by TDbiResultSet::BuildLookUpTable(), and TDbiResultSet::Satisfies().
00082 { 00083 return this->GetSqlQualifiers() != ""; }
Bool_t TDbiResultSet::LookUpBuilt | ( | ) | const [inline, protected, inherited] |
Definition at line 116 of file TDbiResultSet.hxx.
References TDbiResultSet::fIndexKeys.
Referenced by GetTableRowByIndex().
00116 { return fIndexKeys.size() > 0; }
Bool_t TDbiResultSetNonAgg::Owns | ( | const TDbiTableRow * | row | ) | const [virtual] |
Purpose: Return true if owns row. Program Notes:- ============= Only TDbiResultSetNonAggs own rows; the base class TDbiResultSet supplies the default method that returns false.
Reimplemented from TDbiResultSet.
Definition at line 269 of file TDbiResultSetNonAgg.cxx.
References fRows.
Bool_t TDbiResultSet::ResultsFromDb | ( | ) | const [inline, inherited] |
Definition at line 85 of file TDbiResultSet.hxx.
References TDbiResultSet::fResultsFromDb.
Referenced by TDbiTableProxy::SaveToL2Cache().
00085 { return fResultsFromDb; }
virtual Bool_t TDbiResultSet::Satisfies | ( | const string & | ) | [inline, virtual, inherited] |
Not all TDbiResultSet classes can satisfy these types of query so those that do must override.
Reimplemented in TDbiResultSetAgg.
Definition at line 100 of file TDbiResultSet.hxx.
Bool_t TDbiResultSet::Satisfies | ( | const TVldContext & | vc, | |
const TDbi::Task & | task | |||
) | [virtual, inherited] |
All TDbiResultSet classes can satisfy this type of primary query so impliment here.
Definition at line 261 of file TDbiResultSet.cxx.
References TDbiResultSet::CanReuse(), TDbiResultSet::GetNumClients(), TDbiResultSet::GetValidityRec(), TDbiValidityRec::HasExpired(), TDbiValidityRec::IsCompatible(), TDbiResultSet::IsExtendedContext(), TDbiResultSet::SetCanReuse(), and SK_DBI_Debug.
Referenced by TDbiCache::Search().
00262 { 00263 // 00264 // 00265 // Purpose: Check to see if this Result satisfies specific context query. 00266 // 00267 // Arguments: 00268 // vc in Context of query 00269 // task in Task of query 00270 // 00271 // Return: kTRUE if can satisfy query. 00272 // 00273 // Contact: N. West 00274 // 00275 // Program Notes:- 00276 // ============= 00277 00278 // If it cannot satisfy the query in a way that suggests 00279 // that its unlikely that it will satisfy future queries 00280 // then mark as cannot reuse so that it becomes eligible 00281 // for purging. 00282 00283 // Extended Context queries cannot satisfy specific context queries. 00284 00285 Bool_t isExtendedContext = this->IsExtendedContext(); 00286 Bool_t canReuse = this->CanReuse(); 00287 Bool_t isCompatible = this->GetValidityRec().IsCompatible(vc,task); 00288 Bool_t hasExpired = this->GetValidityRec().HasExpired(vc,task); 00289 UInt_t numClients = this->GetNumClients(); 00290 SK_DBI_Debug( " Checking result with TDbiValidityRec:- \n " << this->GetValidityRec() 00291 << " With extended context: " << isExtendedContext 00292 << " CanReuse: " << canReuse 00293 << " Is Compatible: " << isCompatible 00294 << " HasExpired: " << hasExpired 00295 << " number of clients: " << numClients 00296 << " "); 00297 00298 if ( isExtendedContext ) return kFALSE; 00299 00300 if ( canReuse && isCompatible ) return kTRUE; 00301 00302 // If the query would be satisfied apart from the date, then 00303 // assume we have moved out of the validity window, never 00304 // to return! 00305 00306 if ( canReuse && hasExpired && numClients == 0 ) { 00307 SK_DBI_Debug( " Marking result as not reusable" << " "); 00308 this-> SetCanReuse(kFALSE); 00309 } 00310 00311 return kFALSE; 00312 00313 }
Bool_t TDbiResultSetNonAgg::Satisfies | ( | const TDbiValidityRec & | vrec, | |
const string & | sqlQualifiers = "" | |||
) | [virtual] |
Purpose: Check to see if this Result matches the supplied TDbiValidityRec.
Reimplemented from TDbiResultSet.
Definition at line 283 of file TDbiResultSetNonAgg.cxx.
References TDbiResultSet::CanReuse(), TDbiValidityRec::GetCreationDate(), TDbiValidityRec::GetSeqNo(), TDbiResultSet::GetSqlQualifiers(), TDbiResultSet::GetValidityRec(), and SK_DBI_Debug.
00284 { 00285 // 00286 // 00287 00288 00289 SK_DBI_Debug( "Trying to satisfy: Vrec " << vrec << " SQL: " << sqlQualifiers 00290 << "\n with CanReuse: " << this->CanReuse() 00291 << " vrec: " << this->GetValidityRec() 00292 << " sqlQualifiers: " << this->GetSqlQualifiers() 00293 << " "); 00294 00295 if ( this->CanReuse() ) { 00296 const TDbiValidityRec& this_vrec = this->GetValidityRec(); 00297 if ( sqlQualifiers == this->GetSqlQualifiers() 00298 && vrec.GetSeqNo() == this_vrec.GetSeqNo() 00299 && vrec.GetCreationDate() == this_vrec.GetCreationDate() 00300 ) return kTRUE; 00301 } 00302 00303 return kFALSE; 00304 00305 }
virtual void TDbiResultSet::SetCanReuse | ( | Bool_t | reuse | ) | [inline, virtual, inherited] |
Definition at line 108 of file TDbiResultSet.hxx.
References TDbiResultSet::fCanReuse.
Referenced by TDbiResultSet::CanDelete(), TDbiTableProxy::Query(), and TDbiResultSet::Satisfies().
00108 { fCanReuse = reuse ; }
void TDbiResultSet::SetResultsFromDb | ( | ) | [inline, protected, inherited] |
Definition at line 111 of file TDbiResultSet.hxx.
References TDbiResultSet::fResultsFromDb.
00111 { fResultsFromDb = kTRUE; }
virtual void TDbiResultSet::SetTableName | ( | const string & | tableName | ) | [inline, protected, virtual, inherited] |
Definition at line 120 of file TDbiResultSet.hxx.
References TDbiResultSet::fTableName.
00120 { 00121 fTableName = tableName; }
virtual void TDbiResultSet::SetValidityRec | ( | const TDbiValidityRec & | vRec | ) | [inline, protected, virtual, inherited] |
Definition at line 122 of file TDbiResultSet.hxx.
References TDbiResultSet::fEffVRec.
00122 { 00123 fEffVRec = vRec; }
void TDbiResultSetNonAgg::Streamer | ( | TDbiBinaryFile & | file | ) | [virtual] |
Purpose: I/O to binary file Program Notes:- ============= Do I/O for base class TDbiResultSet first. Rebuild fIndexKeys on input.
Reimplemented from TDbiResultSet.
Definition at line 316 of file TDbiResultSetNonAgg.cxx.
References TDbiResultSet::BuildLookUpTable(), fBuffer, fRows, TDbiBinaryFile::IsReading(), TDbiBinaryFile::IsWriting(), TDbiBinaryFile::ReleaseArrayBuffer(), and SK_DBI_Debug.
00316 { 00317 00318 if ( file.IsReading() ) { 00319 this->TDbiResultSet::Streamer(file); 00320 SK_DBI_Debug( " Restoring TDbiResultSetNonAgg ..." << " "); 00321 file >> fRows; 00322 // Take ownership of the memory holding the array. 00323 fBuffer = file.ReleaseArrayBuffer(); 00324 this->BuildLookUpTable(); 00325 SK_DBI_Debug( " Restored TDbiResultSetNonAgg. Size:" 00326 << fRows.size() << " rows" << " "); 00327 } 00328 else if ( file.IsWriting() ) { 00329 this->TDbiResultSet::Streamer(file); 00330 SK_DBI_Debug( " Saving TDbiResultSetNonAgg. Size:" 00331 << fRows.size() << " rows" << " "); 00332 file << fRows; 00333 } 00334 }
virtual const string& TDbiResultSet::TableName | ( | ) | const [inline, virtual, inherited] |
Definition at line 86 of file TDbiResultSet.hxx.
References TDbiResultSet::fTableName.
Referenced by TDbiCache::Adopt(), TDbiResultSet::BuildLookUpTable(), CreateKey(), TDbiValRecSet::GetTableName(), and TDbiCache::Purge().
00086 { return fTableName; }
char* TDbiResultSetNonAgg::fBuffer [private] |
Not null only if table rows read from BinaryFile.
Definition at line 80 of file TDbiResultSetNonAgg.hxx.
Referenced by Streamer(), and ~TDbiResultSetNonAgg().
std::vector<TDbiTableRow*> TDbiResultSetNonAgg::fRows [private] |
Set of table rows eqv. to ResultSet.
Definition at line 77 of file TDbiResultSetNonAgg.hxx.
Referenced by GetNumRows(), GetTableRow(), Owns(), Streamer(), and ~TDbiResultSetNonAgg().