TDbiValRecSet Class Reference

Concept A set of TDbiValidityRecs More...

#include <TDbiValRecSet.hxx>

Collaboration diagram for TDbiValRecSet:
Collaboration graph
[legend]

List of all members.

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 TDbiValidityRecGetTableRow (UInt_t rowNum) const
const TDbiValidityRecGetTableRowBySeqNo (UInt_t seqNo) const

Private Attributes

UInt_t fDbNo
TDbiResultSetfResult
 Result holding table of TDbiValidityRec.
map< UInt_t, const
TDbiValidityRec * > 
fSeqNoToRec

Detailed Description

Concept A set of TDbiValidityRecs

Id
TDbiValRecSet.hxx,v 1.1 2011/01/18 05:49:20 finch Exp

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.


Constructor & Destructor Documentation

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 }


Member Function Documentation

UInt_t TDbiValRecSet::GetDbNo (  )  const [inline]

Definition at line 40 of file TDbiValRecSet.hxx.

References fDbNo.

00040 { return fDbNo; }

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

Here is the caller graph for this function:

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 }

Here is the call graph for this function:


Member Data Documentation

UInt_t TDbiValRecSet::fDbNo [private]

Definition at line 53 of file TDbiValRecSet.hxx.

Referenced by GetDbNo().

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().


The documentation for this class was generated from the following files:

Generated on 11 Aug 2013 for SKDatabase by  doxygen 1.6.1