Concept A set of TDbiValidityRecs More...
#include <TDbiValRecSet.hxx>
Public Member Functions | |
TDbiValRecSet (const string &tableName, UInt_t dbNo, UInt_t seqNo=0) | |
virtual | ~TDbiValRecSet () |
UInt_t | GetDbNo () const |
UInt_t | GetNumRows () const |
const string | GetTableName () const |
const TDbiValidityRec * | GetTableRow (UInt_t rowNum) const |
const TDbiValidityRec * | GetTableRowBySeqNo (UInt_t seqNo) const |
Private Attributes | |
UInt_t | fDbNo |
TDbiResultSet * | fResult |
Result holding table of TDbiValidityRec. | |
map< UInt_t, const TDbiValidityRec * > | fSeqNoToRec |
Concept A set of TDbiValidityRecs
Purpose Provides a sequential access mechanism for an entire table via its auxillary Validity Range table Contact: A.Finch@lancaster.ac.uk
Definition at line 30 of file TDbiValRecSet.hxx.
TDbiValRecSet::TDbiValRecSet | ( | const string & | tableName, | |
UInt_t | dbNo, | |||
UInt_t | seqNo = 0 | |||
) |
TDbiValRecSet::~TDbiValRecSet | ( | ) | [virtual] |
Definition at line 77 of file TDbiValRecSet.cxx.
References fResult, and SK_DBI_Trace.
00077 { 00078 // 00079 // 00080 // Purpose: Destructor 00081 // 00082 // Arguments: 00083 // None. 00084 // 00085 // Return: n/a 00086 // 00087 // Contact: N. West 00088 // 00089 // Specification:- 00090 // ============= 00091 // 00092 // o Destroy RowStream. 00093 00094 00095 // Program Notes:- 00096 // ============= 00097 00098 // None. 00099 00100 00101 SK_DBI_Trace( "Destroying TDbiValRecSet" << " "); 00102 delete fResult; 00103 00104 }
UInt_t TDbiValRecSet::GetDbNo | ( | ) | const [inline] |
UInt_t TDbiValRecSet::GetNumRows | ( | ) | const |
Definition at line 108 of file TDbiValRecSet.cxx.
References fResult, and TDbiResultSet::GetNumRows().
Referenced by GetTableRowBySeqNo().
00108 { 00109 // 00110 // 00111 // Purpose: Return the number of rows. 00112 // 00113 // Arguments: None. 00114 // 00115 // Return: 00116 // 00117 // Contact: N. West 00118 // 00119 // Specification:- 00120 // ============= 00121 // 00122 // o Return the number of rows. 00123 00124 // Program Notes:- 00125 // ============= 00126 00127 // None. 00128 00129 return fResult ? fResult->GetNumRows() : 0; 00130 }
const string TDbiValRecSet::GetTableName | ( | ) | const |
Definition at line 134 of file TDbiValRecSet.cxx.
References fResult, and TDbiResultSet::TableName().
00134 { 00135 // 00136 // 00137 // Purpose: Return the table name. 00138 // 00139 // Arguments: None. 00140 // 00141 // Return: 00142 // 00143 // Contact: N. West 00144 // 00145 // Specification:- 00146 // ============= 00147 // 00148 // o Return the table name. 00149 00150 // Program Notes:- 00151 // ============= 00152 00153 // None. 00154 00155 return fResult ? fResult->TableName() : "Unknown"; 00156 }
const TDbiValidityRec * TDbiValRecSet::GetTableRow | ( | UInt_t | rowNum | ) | const |
Definition at line 160 of file TDbiValRecSet.cxx.
References fResult, and TDbiResultSet::GetTableRow().
Referenced by GetTableRowBySeqNo().
00160 { 00161 // 00162 // 00163 // Purpose: Return TDbiValidityRec at supplied row number. 00164 // 00165 // Arguments: 00166 // rowNum in Row number whose entry is required or 0 if none. 00167 // 00168 // Return: 00169 // 00170 // Contact: N. West 00171 // 00172 // Specification:- 00173 // ============= 00174 // 00175 // o Return TDbiValidityRec at supplied row number. 00176 00177 // Program Notes:- 00178 // ============= 00179 00180 // None. 00181 00182 return fResult ? 00183 dynamic_cast<const TDbiValidityRec*>(fResult->GetTableRow(rowNum)) 00184 : 0; 00185 }
const TDbiValidityRec * TDbiValRecSet::GetTableRowBySeqNo | ( | UInt_t | seqNo | ) | const |
Definition at line 189 of file TDbiValRecSet.cxx.
References fSeqNoToRec, GetNumRows(), TDbiValidityRec::GetSeqNo(), and GetTableRow().
00190 { 00191 // 00192 // 00193 // Purpose: Return TDbiValidityRec.hxxaving supplied SeqNo. 00194 // 00195 // Arguments: 00196 // seqNo in Sequence number of required entry or 0 if none. 00197 // 00198 // Return: 00199 // 00200 // Contact: N. West 00201 // 00202 // Specification:- 00203 // ============= 00204 // 00205 // o Return TDbiValidityRec at supplied row number. 00206 00207 // Program Notes:- 00208 // ============= 00209 00210 // None. 00211 00212 UInt_t numRows = GetNumRows(); 00213 if ( numRows == 0 ) return 0; 00214 00215 // Create look-up table if not yet built. 00216 00217 if ( fSeqNoToRec.size() == 0 ) { 00218 for ( UInt_t irow = 0; irow < numRows; ++irow) { 00219 const TDbiValidityRec* vrec = GetTableRow(irow); 00220 fSeqNoToRec[vrec->GetSeqNo()] = vrec; 00221 } 00222 } 00223 00224 map<UInt_t,const TDbiValidityRec*>::const_iterator itr = fSeqNoToRec.find(seqNo); 00225 return ( itr == fSeqNoToRec.end() ) ? 0 : itr->second; 00226 00227 }
UInt_t TDbiValRecSet::fDbNo [private] |
Definition at line 53 of file TDbiValRecSet.hxx.
Referenced by GetDbNo().
TDbiResultSet* TDbiValRecSet::fResult [private] |
Result holding table of TDbiValidityRec.
Definition at line 56 of file TDbiValRecSet.hxx.
Referenced by GetNumRows(), GetTableName(), GetTableRow(), and ~TDbiValRecSet().
map<UInt_t,const TDbiValidityRec*> TDbiValRecSet::fSeqNoToRec [mutable, private] |
Lookup SeqNo -> TDbiValidityRec lazy creation - see GetTableRowBySeqNo
Definition at line 60 of file TDbiValRecSet.hxx.
Referenced by GetTableRowBySeqNo().