/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DbiValidityRec.h
Go to the documentation of this file.
00001 #ifndef DBIVALIDITYREC_H
00002 #define DBIVALIDITYREC_H
00003 
00026 #include "DatabaseInterface/Dbi.h"
00027 #include "DatabaseInterface/DbiTableRow.h"
00028 #include "Context/ContextRange.h"
00029 #include "Context/TimeStamp.h"
00030 
00031 #include <iosfwd>
00032 #include <string>
00033 
00034 class DbiBinaryFile;
00035 class DbiTableProxy;
00036 class DbiValidityRec;
00037 
00038 ostream& operator<<(ostream& s, const DbiValidityRec& vRec);    
00039 
00040 class DbiValidityRec : public DbiTableRow
00041 {
00042 
00043 
00044 public:
00045 
00046 // Constructors and destructors.
00047            DbiValidityRec(Int_t dbNo = -1, Bool_t isGap = kTRUE);
00048            DbiValidityRec(const DbiValidityRec& from);
00049            DbiValidityRec(const ContextRange& range,
00050                           Dbi::SubSite subsite,
00051                           Dbi::Task task,
00052                           Int_t aggNo,
00053                           UInt_t seqNo,
00054                           Int_t dbNo = -1,
00055                           Bool_t isGap = kFALSE,
00056                           TimeStamp time = TimeStamp());
00057   virtual ~DbiValidityRec();
00058 
00059 // State testing member functions
00060 
00061   virtual DbiTableRow* CreateTableRow() const {
00062                                            return new DbiValidityRec; }
00063                  Int_t GetAggregateNo() const { return fAggregateNo; }
00064              TimeStamp GetVersionDate() const { return fVersionDate; }
00065                 UInt_t GetDbNo() const { return fDbNo; }
00066              TimeStamp GetInsertDate() const { return fInsertDate; }
00067           Dbi::SubSite GetSubSite() const { return fSubSite; }
00068              Dbi::Task GetTask() const { return fTask; }
00069            std::string GetL2CacheName() const;
00070                 UInt_t GetSeqNo() const { return fSeqNo; }
00071   const DbiTableProxy* GetTableProxy() const { return fTableProxy; }
00072    const ContextRange& GetContextRange() const { return fContextRange;}
00073                 Bool_t HasExpired(const DbiValidityRec& other) const;
00074                 Bool_t HasExpired(const Context& vc,
00075                                   const Dbi::SubSite& subsite,
00076                                   const Dbi::Task& task ) const;
00077                Bool_t IsCompatible(const Context& vc,
00078                                   const Dbi::SubSite& subsite,
00079                                   const Dbi::Task& task ) const;
00080                 Bool_t IsGap() const { return fIsGap; }
00081 
00082 static     std::string GetL2CacheName(UInt_t seqLo, UInt_t seqHi, TimeStamp ts);
00083 
00084 // State changing member functions
00085         void AndTimeWindow(const TimeStamp& start,
00086                            const TimeStamp& end);
00087         void SetAggregateNo(Int_t aggNo) { fAggregateNo = aggNo; }
00088         void SetDbNo(Int_t dbNo) { fDbNo = dbNo; }
00089         void SetTableProxy(const DbiTableProxy* tp) { fTableProxy = tp; }
00090         void SetTimeWindow(const TimeStamp& start,
00091                            const TimeStamp& end);
00092         void SetContextRange(const ContextRange& range) { fContextRange=range;}
00093         void Trim(const TimeStamp& queryTime,
00094                   const DbiValidityRec& other);
00095 
00096 // I/O  member functions
00097   virtual void Fill(DbiResultSet& rs,
00098                     const DbiValidityRec* vrec);
00099   virtual void Store(DbiOutRowStream& ors,
00100                     const DbiValidityRec* vrec) const;
00101           void Streamer(DbiBinaryFile& file);
00102 
00103 private:  
00104 
00105 // Data members
00106 
00107 
00111   Int_t fAggregateNo;
00112 
00114   TimeStamp fVersionDate;
00115 
00117   Int_t fDbNo;  
00118 
00120   TimeStamp fInsertDate; 
00121 
00123     Bool_t fIsGap;
00124 
00126   Dbi::SubSite fSubSite;
00127 
00129   Dbi::Task fTask;
00130 
00132   Int_t fSeqNo;
00133 
00135   const DbiTableProxy* fTableProxy;
00136 
00138   ContextRange fContextRange;
00139 
00140 // Removed: ClassDef(DbiValidityRec,0)  // Validity range table row. 
00141 
00142 };
00143 
00144 
00145 #endif  // DBIVALIDITYREC_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:56:45 for DatabaseInterface by doxygen 1.7.4