DbiResult Class Reference

#include <DbiResult.h>

Inheritance diagram for DbiResult:

DbiResultAgg DbiResultNonAgg List of all members.

Public Member Functions

 DbiResult (DbiResultSet *resultSet=0, const DbiValidityRec *vrec=0, const string &sqlQualifiers="")
virtual ~DbiResult ()
virtual Bool_t CanReuse () const
virtual Bool_t CanSave () const
virtual void Connect () const
virtual DbiResultKeyCreateKey () const =0
virtual void Disconnect () const
const DbiExceptionLogGetExceptionLog () const
Int_t GetID () const
virtual const DbiResultKeyGetKey () const
virtual UInt_t GetNumAggregates () const =0
virtual UInt_t GetNumClients () const
virtual UInt_t GetNumRows () const =0
const string & GetSqlQualifiers () const
virtual const DbiTableRowGetTableRow (UInt_t rowNum) const =0
virtual const DbiTableRowGetTableRowByIndex (UInt_t index) const
virtual const DbiValidityRecGetValidityRec (const DbiTableRow *=0) const
virtual const DbiValidityRecGetValidityRecGlobal () const
Bool_t IsExtendedContext () const
virtual Bool_t Owns (const DbiTableRow *) const
Bool_t ResultsFromDb () const
virtual const string & TableName () const
void CaptureExceptionLog (UInt_t startFrom)
virtual Bool_t CanDelete (const DbiResult *res=0)
 Return true if no clients and unlikely to be reused.
virtual Bool_t Satisfies (const VldContext &vc, const Dbi::Task &task)
virtual Bool_t Satisfies (const string &)
virtual Bool_t Satisfies (const DbiValidityRec &, const string &="")
virtual void DeRegisterKey ()
 Key handling.
virtual void RegisterKey ()
virtual void Streamer (DbiBinaryFile &file)
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 DbiValidityRec &vRec)

Private Attributes

Int_t fID
 Unique ID within the current job.
Bool_t fCanReuse
DbiValidityRec fEffVRec
IndexToRow_t fIndexKeys
const DbiResultKeyfKey
Bool_t fResultsFromDb
 True is at least part didn't come from cache.
Int_t fNumClients
string fTableName
string fSqlQualifiers
DbiExceptionLog fExceptionLog
 Exception log produced when query was executed.

Static Private Attributes

static Int_t fgLastID
 Used to allocate unique ID within the current job.

Detailed Description

Id
DbiResult.h,v 1.22 2006/08/08 10:51:32 west Exp

Definition at line 48 of file DbiResult.h.


Constructor & Destructor Documentation

DbiResult::DbiResult ( DbiResultSet resultSet = 0,
const DbiValidityRec vrec = 0,
const string &  sqlQualifiers = "" 
)

Definition at line 51 of file DbiResult.cxx.

References fEffVRec, fTableName, Msg::kVerbose, LEA_CTOR, MSG, and DbiRowStream::TableNameTc().

00053                                                   :
00054 fID(++fgLastID),
00055 fCanReuse(kTRUE),
00056 fEffVRec(0),
00057 fKey(0),
00058 fResultsFromDb(kFALSE),
00059 fNumClients(0),
00060 fTableName("Unknown"),
00061 fSqlQualifiers(sqlQualifiers)
00062 {
00063 //
00064 //
00065 //  Purpose:  Default constructor
00066 //
00067 //  Arguments: 
00068 //      resultSet     in   Pointer DbiResultSet from query. May be null.  
00069 //      vrec          in   Pointer to validity record from query. 
00070 //                         May be null
00071 //      sqlQualifier  in   Extended Context sql qualifiers
00072 //
00073 //  Return:    n/a
00074 //
00075 //  Contact:   N. West
00076 //
00077 //  Specification:-
00078 //  =============
00079 //
00080 //  o Create Result from DbiResultSet generated by query.
00081 
00082 
00083 //  Program Notes:-
00084 //  =============
00085 
00086 // None.
00087 
00088   LEA_CTOR    //Leak Checker
00089 
00090   MSG("Dbi", Msg::kVerbose) << "Creating DbiResult" << endl;
00091 
00092   if ( vrec ) fEffVRec = *vrec;
00093   if ( resultSet ) fTableName = resultSet->TableNameTc();
00094  
00095 }

DbiResult::~DbiResult (  )  [virtual]

Definition at line 99 of file DbiResult.cxx.

References DeRegisterKey(), fNumClients, Msg::kVerbose, Msg::kWarning, LEA_DTOR, and MSG.

00099                       {
00100 //
00101 //
00102 //  Purpose: Destructor
00103 //
00104 //  Arguments: 
00105 //    None.
00106 //
00107 //  Return:    n/a
00108 //
00109 //  Contact:   N. West
00110 //
00111 //  Specification:-
00112 //  =============
00113 //
00114 //  o  Destroy Result.
00115 
00116 
00117 //  Program Notes:-
00118 //  =============
00119 
00120 //  None.
00121 
00122   LEA_DTOR    //Leak Checker
00123 
00124   MSG("Dbi", Msg::kVerbose) << "Destroying DbiResult." << endl;
00125 
00126   if ( fNumClients ) {
00127     MSG("Dbi", Msg::kWarning) 
00128       << "Warning: Destroying DbiResult with " << fNumClients 
00129       << " clients " << endl;
00130   }
00131 
00132   this->DeRegisterKey();
00133 
00134 }


Member Function Documentation

void DbiResult::BuildLookUpTable (  )  const [protected]

Definition at line 137 of file DbiResult.cxx.

References fIndexKeys, DbiTableRow::GetAggregateNo(), DbiTableRow::GetOwner(), DbiValidityRec::GetSeqNo(), GetTableRowByIndex(), GetValidityRec(), IsExtendedContext(), Msg::kError, Msg::kVerbose, MAXMSG, MSG, and TableName().

Referenced by DbiResultNonAgg::Streamer().

00137                                        {
00138 //
00139 //
00140 //  Purpose:  Build look-up Natural Index -> TableRow.
00141 //
00142 //  Contact:   N. West
00143 //
00144 //  Program Notes:-
00145 //  =============
00146 //
00147 //  This member function assumes that the sub-class can support
00148 //  the GetTableRow(...) and GetNumRows methods so take care if 
00149 //  called in the sub-class ctor.
00150 
00151 //  Extended Context serach can produce duplicates.
00152   Bool_t duplicatesOK = this->IsExtendedContext();
00153 
00154   MSG("Dbi", Msg::kVerbose) << "Building look-uptable. Allow duplicates: " 
00155                             << duplicatesOK << endl;
00156 
00157   for ( Int_t rowNo = this->GetNumRows()-1; 
00158         rowNo >= 0;
00159         --rowNo ) {
00160     const DbiTableRow* row  = this->GetTableRow(rowNo);
00161     UInt_t index            = row->GetIndex(rowNo);
00162 //  Ensure we use this class's GetTableRowByIndex, the method is
00163 //  virtual but if the subclass has called this method then it must
00164 //  be the right one to use. [Actually DbiResultAgg overrides
00165 //  GetTableRowByIndex, but only to make building lazy].
00166     const DbiTableRow* row2 = this->DbiResult::GetTableRowByIndex(index);
00167 
00168     MSG("Dbi", Msg::kVerbose)
00169           << "Look-up. Row no " << rowNo
00170           << " index " << index 
00171           << " row,row2 " << (void*) row << "," << (void*) row2 << endl;
00172    
00173     if ( row2 != 0 && row2 != row && ! duplicatesOK ) {
00174       std::ostringstream msg;
00175       msg << "Duplicated row natural index: " << index  
00176           << " Found at row " <<  rowNo
00177           << " of table " <<  this->TableName()
00178           << ":-\n     index of agg " <<  row->GetAggregateNo();
00179       if ( row->GetOwner() ) msg << "(SEQNO " << row->GetOwner()->GetValidityRec(row).GetSeqNo() << ")";
00180       msg << " matches agg " <<  row2->GetAggregateNo();
00181       if ( row2->GetOwner() ) msg << "(SEQNO " << row2->GetOwner()->GetValidityRec(row2).GetSeqNo() << ")";
00182       MAXMSG("Dbi",Msg::kError,20) << msg.str() << endl;
00183    }
00184 
00185     else  fIndexKeys[index] = row;
00186   }  
00187 
00188 }

Bool_t DbiResult::CanDelete ( const DbiResult res = 0  )  [virtual]

Return true if no clients and unlikely to be reused.

Definition at line 192 of file DbiResult.cxx.

References CanReuse(), GetNumClients(), GetValidityRec(), DbiValidityRec::HasExpired(), and SetCanReuse().

Referenced by DbiCache::Purge().

00192                                                 {
00193 //
00194 //
00195 //  Purpose:  See if suitable for deleting.
00196 //
00197 //  Arguments: 
00198 //    res          in    A DbiResult that is currently used. 
00199 //                       Optional: default = 0.
00200 
00201 //  If the query would be satisfied apart from the date, then
00202 //  assume we have moved out of the validity window, never
00203 //  to return!
00204 
00205   if (     res 
00206         && this->CanReuse() 
00207         && this->GetValidityRec().HasExpired(res->GetValidityRec()) 
00208      )  this->SetCanReuse(kFALSE);
00209 
00210   return ! this->GetNumClients() && ! this->CanReuse();
00211 }

virtual Bool_t DbiResult::CanReuse (  )  const [inline, virtual]

Definition at line 61 of file DbiResult.h.

References fCanReuse.

Referenced by CanDelete(), DbiResultNonAgg::Satisfies(), DbiResultAgg::Satisfies(), and Satisfies().

00061 { return fCanReuse; }

virtual Bool_t DbiResult::CanSave (  )  const [inline, virtual]

Definition at line 62 of file DbiResult.h.

Referenced by DbiTableProxy::SaveToL2Cache().

00062 { return kTRUE; }

void DbiResult::CaptureExceptionLog ( UInt_t  startFrom  ) 

Definition at line 215 of file DbiResult.cxx.

References DbiExceptionLog::Clear(), DbiExceptionLog::Copy(), fExceptionLog, and DbiExceptionLog::GetGELog().

Referenced by DbiTableProxy::Query().

00215                                                     {
00216 //
00217 //
00218 //  Purpose: Capture Exception Log from latest entries in Global Exception Log. 
00219 
00220   fExceptionLog.Clear();
00221   DbiExceptionLog::GetGELog().Copy(fExceptionLog,startFrom);
00222 
00223 }

virtual void DbiResult::Connect (  )  const [inline, virtual]

Definition at line 63 of file DbiResult.h.

References fNumClients.

Referenced by DbiResultAgg::DbiResultAgg(), DbiResultPtr< T >::DbiResultPtr(), and DbiResultPtr< T >::NewQuery().

00063 { ++fNumClients; }

virtual DbiResultKey* DbiResult::CreateKey (  )  const [pure virtual]

Implemented in DbiResultAgg, and DbiResultNonAgg.

Referenced by RegisterKey().

void DbiResult::DeRegisterKey (  )  [virtual]

Key handling.

Definition at line 227 of file DbiResult.cxx.

References DbiRecord::DeleteKey(), fKey, DbiServices::GetRecord(), Msg::kWarning, and MSG.

Referenced by ~DbiResult().

00227                               {
00228 //
00229 //
00230 //  Purpose: Deregister key if it exists. 
00231 
00232   if ( ! fKey ) return;
00233 
00234   DbiRecord* record = DbiServices::GetRecord();
00235   if ( ! record ) {
00236     MSG("Dbi",Msg::kWarning) << "Attempting to deregister DbiResultKey at " << (void*) fKey 
00237                              << " but owning DbiRecord cannot be found." << endl; 
00238   }
00239   else {
00240     record->DeleteKey(fKey);
00241     fKey = 0;
00242   }
00243 
00244 }

virtual void DbiResult::Disconnect (  )  const [inline, virtual]

Definition at line 65 of file DbiResult.h.

References fNumClients.

Referenced by DbiResultPtr< T >::Disconnect().

00065 { --fNumClients; } 

const DbiExceptionLog& DbiResult::GetExceptionLog (  )  const [inline]

Definition at line 66 of file DbiResult.h.

References fExceptionLog.

00066 { return fExceptionLog; }

Int_t DbiResult::GetID (  )  const [inline]

Definition at line 67 of file DbiResult.h.

References fID.

Referenced by DbiResultPtr< T >::GetResultID().

00067 { return fID; }

const DbiResultKey * DbiResult::GetKey (  )  const [virtual]

Definition at line 247 of file DbiResult.cxx.

References fKey, and DbiResultKey::GetEmptyKey().

Referenced by DbiCache::Adopt(), and DbiResultPtr< T >::GetKey().

00247                                             {
00248 
00249 //  Purpose:  Get the associated DbiResultKey, or an empty one if none exists.
00250 
00251   return fKey ? fKey : DbiResultKey::GetEmptyKey();
00252 
00253 }

virtual UInt_t DbiResult::GetNumAggregates (  )  const [pure virtual]

Implemented in DbiResultAgg, and DbiResultNonAgg.

virtual UInt_t DbiResult::GetNumClients (  )  const [inline, virtual]

Definition at line 70 of file DbiResult.h.

References fNumClients.

Referenced by CanDelete(), and Satisfies().

00070                                                      { 
00071                                                    return fNumClients; }

virtual UInt_t DbiResult::GetNumRows (  )  const [pure virtual]

Implemented in DbiResultAgg, and DbiResultNonAgg.

Referenced by DbiResultAgg::DbiResultAgg(), DbiValRecSet::GetNumRows(), DbiResultPtr< T >::GetNumRows(), DbiResultPtr< T >::NewQuery(), DbiResultPtr< T >::NextQuery(), and DbiTableProxy::SaveToL2Cache().

const string& DbiResult::GetSqlQualifiers (  )  const [inline]

Definition at line 73 of file DbiResult.h.

References fSqlQualifiers.

Referenced by IsExtendedContext(), DbiResultNonAgg::Satisfies(), and DbiResultAgg::Satisfies().

00073 { return fSqlQualifiers; }

virtual const DbiTableRow* DbiResult::GetTableRow ( UInt_t  rowNum  )  const [pure virtual]

Implemented in DbiResultAgg, and DbiResultNonAgg.

Referenced by DbiResultAgg::DbiResultAgg(), DbiResultPtr< T >::GetRow(), and DbiValRecSet::GetTableRow().

const DbiTableRow * DbiResult::GetTableRowByIndex ( UInt_t  index  )  const [virtual]

Reimplemented in DbiResultNonAgg.

Definition at line 257 of file DbiResult.cxx.

References fIndexKeys.

Referenced by BuildLookUpTable(), DbiResultPtr< T >::GetRowByIndex(), and DbiResultNonAgg::GetTableRowByIndex().

00257                                                                    {
00258 //
00259 //
00260 //  Purpose:  Return row corresponding to Natural Index (or 0 if none)
00261 //
00262 //  Contact:   N. West
00263 //
00264 
00265 // Use Find rather than operator[] to avoid creating entry 
00266 // if index missing
00267   IndexToRow_t::const_iterator idx = fIndexKeys.find(index);
00268   return ( idx == fIndexKeys.end() ) ? 0 : (*idx).second;
00269 
00270 }

virtual const DbiValidityRec& DbiResult::GetValidityRec ( const DbiTableRow = 0  )  const [inline, virtual]

Reimplemented in DbiResultAgg.

Definition at line 76 of file DbiResult.h.

References GetValidityRecGlobal().

Referenced by DbiCache::Adopt(), BuildLookUpTable(), CanDelete(), DbiResultNonAgg::CreateKey(), DbiResultPtr< T >::GetValidityRec(), DbiResultPtr< T >::NewQuery(), DbiResultPtr< T >::NextQuery(), DbiTableProxy::RestoreFromL2Cache(), DbiResultNonAgg::Satisfies(), and Satisfies().

00077                                                                           { 
00078                                         return GetValidityRecGlobal(); }

virtual const DbiValidityRec& DbiResult::GetValidityRecGlobal (  )  const [inline, virtual]

Definition at line 79 of file DbiResult.h.

References fEffVRec.

Referenced by DbiCache::Adopt(), DbiResultAgg::GetValidityRec(), and GetValidityRec().

00079                                                             { 
00080                                                       return fEffVRec; }

Bool_t DbiResult::IsExtendedContext (  )  const [inline]

Definition at line 81 of file DbiResult.h.

References GetSqlQualifiers().

Referenced by BuildLookUpTable(), and Satisfies().

00081                                                          { 
00082                                        return this->GetSqlQualifiers() != ""; }

Bool_t DbiResult::LookUpBuilt (  )  const [inline, protected]

Definition at line 116 of file DbiResult.h.

References fIndexKeys.

00116 { return fIndexKeys.size() > 0; } 

virtual Bool_t DbiResult::Owns ( const DbiTableRow  )  const [inline, virtual]

Reimplemented in DbiResultNonAgg.

Definition at line 83 of file DbiResult.h.

00083 { return kFALSE; }

void DbiResult::RegisterKey (  )  [virtual]

Definition at line 274 of file DbiResult.cxx.

References DbiRecord::AdoptKey(), CreateKey(), fKey, DbiServices::GetRecord(), Msg::kWarning, and MSG.

Referenced by DbiCache::Adopt().

00274                             {
00275 //
00276 //
00277 //  Purpose: Create and register key if set not empty and not already done. 
00278 
00279   if ( fKey || this->GetNumRows() == 0) return;
00280 
00281   DbiRecord* record = DbiServices::GetRecord();
00282   if ( ! record ) {
00283     MSG("Dbi",Msg::kWarning) << "cannot create and register key"
00284                              << ", owning DbiRecord cannot be found." << endl; 
00285   }
00286   else {
00287     DbiResultKey* key = this->CreateKey();
00288     record->AdoptKey(key);
00289     fKey = key;
00290   }
00291 
00292 }

Bool_t DbiResult::ResultsFromDb (  )  const [inline]

Definition at line 84 of file DbiResult.h.

References fResultsFromDb.

Referenced by DbiResultPtr< T >::ResultsFromDb(), and DbiTableProxy::SaveToL2Cache().

00084 { return fResultsFromDb; }

virtual Bool_t DbiResult::Satisfies ( const DbiValidityRec ,
const string &  = "" 
) [inline, virtual]

Reimplemented in DbiResultNonAgg.

Definition at line 100 of file DbiResult.h.

00101                                                  {return kFALSE;}

virtual Bool_t DbiResult::Satisfies ( const string &   )  [inline, virtual]

Not all DbiResult classes can satisfy these types of query so those that do must override.

Reimplemented in DbiResultAgg.

Definition at line 99 of file DbiResult.h.

00099 {return kFALSE;}

Bool_t DbiResult::Satisfies ( const VldContext vc,
const Dbi::Task task 
) [virtual]

All DbiResult classes can satisfy this type of primary query so impliment here.

Definition at line 295 of file DbiResult.cxx.

References CanReuse(), GetNumClients(), GetValidityRec(), DbiValidityRec::HasExpired(), DbiValidityRec::IsCompatible(), IsExtendedContext(), Msg::kDebug, MSG, and SetCanReuse().

00296                                                  {
00297 //
00298 //
00299 //  Purpose:  Check to see if this Result satisfies specific context query.
00300 //
00301 //  Arguments: 
00302 //    vc           in    Context of query
00303 //    task         in    Task of query
00304 //
00305 //  Return:    kTRUE if can satisfy query.
00306 //
00307 //  Contact:   N. West
00308 //
00309 //  Program Notes:-
00310 //  =============
00311 
00312 //  If it cannot satisfy the query in a way that suggests 
00313 //  that its unlikely that it will satisfy future queries
00314 //  then mark as cannot reuse so that it becomes eligible
00315 //  for purging.
00316 
00317 // Extended Context queries cannot satisfy specific context queries.
00318 
00319   Bool_t isExtendedContext = this->IsExtendedContext();
00320   Bool_t canReuse          = this->CanReuse();
00321   Bool_t isCompatible      = this->GetValidityRec().IsCompatible(vc,task);
00322   Bool_t hasExpired        = this->GetValidityRec().HasExpired(vc,task);
00323   UInt_t numClients        = this->GetNumClients();
00324   MSG("Dbi",Msg::kDebug) 
00325     << "    Checking result with DbiValidityRec:- \n      " << this->GetValidityRec()
00326     << "  With extended context: " << isExtendedContext
00327     << " CanReuse: " << canReuse
00328     << " Is Compatible: " << isCompatible
00329     << " HasExpired: " <<  hasExpired
00330     << " number of clients: " << numClients
00331     << endl;
00332 
00333   if ( isExtendedContext ) return kFALSE;
00334 
00335   if ( canReuse && isCompatible )  return kTRUE;
00336     
00337 //  If the query would be satisfied apart from the date, then
00338 //  assume we have moved out of the validity window, never
00339 //  to return!
00340 
00341   if ( canReuse && hasExpired && numClients == 0 )  {
00342     MSG("Dbi",Msg::kDebug) << "    Marking result as not reusable" << endl;
00343    this-> SetCanReuse(kFALSE);
00344   }
00345 
00346   return kFALSE;
00347 
00348 }

virtual void DbiResult::SetCanReuse ( Bool_t  reuse  )  [inline, virtual]

Definition at line 108 of file DbiResult.h.

References fCanReuse.

Referenced by CanDelete(), DbiResultAgg::DbiResultAgg(), DbiTableProxy::Query(), and Satisfies().

00108 { fCanReuse = reuse ; }

void DbiResult::SetResultsFromDb (  )  [inline, protected]

Definition at line 111 of file DbiResult.h.

References fResultsFromDb.

00111 { fResultsFromDb = kTRUE; }

virtual void DbiResult::SetTableName ( const string &  tableName  )  [inline, protected, virtual]

Definition at line 120 of file DbiResult.h.

References fTableName.

00120                                                      { 
00121                                                fTableName = tableName; }

virtual void DbiResult::SetValidityRec ( const DbiValidityRec vRec  )  [inline, protected, virtual]

Definition at line 122 of file DbiResult.h.

References fEffVRec.

00122                                                           { 
00123                                                       fEffVRec = vRec; }

void DbiResult::Streamer ( DbiBinaryFile file  )  [virtual]

Reimplemented in DbiResultAgg, and DbiResultNonAgg.

Definition at line 351 of file DbiResult.cxx.

References fCanReuse, fEffVRec, fNumClients, fResultsFromDb, fTableName, DbiBinaryFile::IsReading(), DbiBinaryFile::IsWriting(), Msg::kDebug, Msg::kVerbose, MSG, and DbiValidityRec::Streamer().

Referenced by operator<<(), and operator>>().

00351                                             {
00352 //
00353 //
00354 //  Purpose:  I/O to binary file
00355 //
00356 //  Program Notes:-
00357 //  =============
00358 
00359 //  Don't store fIndexKeys; it will be rebuilt on input by the subclass.
00360 
00361   if ( file.IsReading() ) {
00362     MSG("Dbi", Msg::kDebug) << "    Restoring DbiResult ..." << endl;
00363     file >> fCanReuse;
00364     fEffVRec.Streamer(file);
00365     MSG("Dbi", Msg::kVerbose) << "    Restored " << fEffVRec << endl;
00366     fResultsFromDb = kFALSE;
00367     fNumClients    = 0;
00368     file >> fTableName;
00369     MSG("Dbi", Msg::kVerbose) << "    Restored string " << fTableName << endl;
00370   }
00371   else if ( file.IsWriting() ) {
00372     MSG("Dbi", Msg::kDebug) << "    Saving DbiResult ..." << endl;
00373     file << fCanReuse;
00374     MSG("Dbi", Msg::kVerbose) << "    Saving " << fEffVRec << endl;
00375     fEffVRec.Streamer(file);
00376     MSG("Dbi", Msg::kVerbose) << "    Saving string " << fTableName << endl;
00377     file << fTableName;
00378   }
00379 }

virtual const string& DbiResult::TableName (  )  const [inline, virtual]

Definition at line 85 of file DbiResult.h.

References fTableName.

Referenced by DbiCache::Adopt(), BuildLookUpTable(), and DbiValRecSet::GetTableName().

00085 { return fTableName; }


Member Data Documentation

Bool_t DbiResult::fCanReuse [private]

Definition at line 134 of file DbiResult.h.

Referenced by CanReuse(), SetCanReuse(), and Streamer().

DbiValidityRec DbiResult::fEffVRec [private]

Definition at line 137 of file DbiResult.h.

Referenced by DbiResult(), GetValidityRecGlobal(), SetValidityRec(), and Streamer().

DbiExceptionLog DbiResult::fExceptionLog [private]

Exception log produced when query was executed.

Definition at line 158 of file DbiResult.h.

Referenced by CaptureExceptionLog(), and GetExceptionLog().

Int_t DbiResult::fgLastID [static, private]

Used to allocate unique ID within the current job.

Definition at line 162 of file DbiResult.h.

Int_t DbiResult::fID [private]

Unique ID within the current job.

Definition at line 131 of file DbiResult.h.

Referenced by GetID().

IndexToRow_t DbiResult::fIndexKeys [mutable, private]

Definition at line 140 of file DbiResult.h.

Referenced by BuildLookUpTable(), GetTableRowByIndex(), and LookUpBuilt().

const DbiResultKey* DbiResult::fKey [private]

Definition at line 143 of file DbiResult.h.

Referenced by DeRegisterKey(), GetKey(), and RegisterKey().

Int_t DbiResult::fNumClients [mutable, private]

Definition at line 148 of file DbiResult.h.

Referenced by Connect(), Disconnect(), GetNumClients(), Streamer(), and ~DbiResult().

Bool_t DbiResult::fResultsFromDb [private]

True is at least part didn't come from cache.

Definition at line 146 of file DbiResult.h.

Referenced by ResultsFromDb(), SetResultsFromDb(), and Streamer().

string DbiResult::fSqlQualifiers [private]

Null unless Extended Context query in which case it contains:- context-sql;data-sql;fill-options

Definition at line 155 of file DbiResult.h.

Referenced by GetSqlQualifiers().

string DbiResult::fTableName [private]

Definition at line 151 of file DbiResult.h.

Referenced by DbiResult(), SetTableName(), Streamer(), and TableName().


The documentation for this class was generated from the following files:
Generated on Mon Nov 10 00:55:22 2014 for loon by  doxygen 1.4.7