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

In This Package:

DbiValidityRecBuilder.h
Go to the documentation of this file.
00001 #ifndef DBIVALIDITYRECBUILDER_H
00002 #define DBIVALIDITYRECBUILDER_H
00003 
00028 #include <string>
00029 #include <map>
00030 #include <vector>
00031 
00032 #include "DatabaseInterface/Dbi.h"
00033 #include "DatabaseInterface/DbiValidityRec.h"
00034 #include "Context/Context.h"
00035 
00036 
00037 class DbiDBProxy;
00038 
00039 class DbiValidityRecBuilder
00040 {
00041 
00042 
00043 public:
00044 
00045 // Typedefs and enums
00046 
00047   enum { kMAX_AGGREGATE_NO = 1000 };
00048 
00049 // Constructors and destructors
00050            DbiValidityRecBuilder(const DbiDBProxy& proxy,
00051                                  const Context& vc, 
00052                                  const Dbi::SubSite& subsite,
00053                                  const Dbi::Task& task,
00054                                  Int_t selectDbNo = -1,
00055                                  Bool_t findFullTimeWindow = true);
00056            DbiValidityRecBuilder(const DbiDBProxy& proxy,
00057                                  const std::string& context, 
00058                                  const Dbi::SubSite& subsite,
00059                                  const Dbi::Task& task);
00060             DbiValidityRecBuilder(const DbiValidityRec& vr,
00061                                   const std::string tableName);
00062 
00063  virtual ~DbiValidityRecBuilder();
00064 
00065 // State testing member functions
00066           std::string GetL2CacheName() const;
00067             Dbi::Task GetTask() const { return fTask; }
00068          Dbi::SubSite GetSubSite() const { return fSubSite; }
00069                UInt_t GetNumValidityRec() const { 
00070                                                  return fVRecs.size(); }
00072                 Int_t IndexOfAggno(Int_t aggNo) const;
00073                Bool_t IsExtendedContext() const {
00074                                             return fIsExtendedContext; }
00075 const DbiValidityRec& GetValidityRec(Int_t rowNo) const;
00076 const DbiValidityRec& GetValidityRecFromAggNo(Int_t aggNo) const {
00077                return this->GetValidityRec(this->IndexOfAggno(aggNo)); }
00078  const DbiValidityRec& GetValidityRecFromSeqNo(UInt_t SeqNo) const;
00079                 Bool_t NonAggregated() const {
00080                  return  ! this->IsExtendedContext()
00081                         && this->GetNumValidityRec() == 1; }
00082 
00083 // State changing member functions
00084 
00085 
00086 private:  
00087 
00088 // State changing member functions
00089 
00091 UInt_t AddNewAgg(const DbiValidityRec& vrec,Int_t aggNo);
00093 UInt_t AddNewGap(Int_t aggNo);
00094 
00095   void MakeGapRec(const Context& vc, 
00096                   const std::string& tableName,
00097                   Bool_t findFullTimeWindow = true);
00098 
00099 // Data members
00100 
00101              DbiValidityRec fGap;     // Default (gap) validity record 
00103                      Bool_t fIsExtendedContext;  
00104                Dbi::SubSite fSubSite;    // Query subsite
00105                   Dbi::Task fTask;    // Query task
00113 
00114 std::vector<DbiValidityRec> fVRecs;
00116  std::map<Int_t,UInt_t>  fAggNoToIndex;
00117 
00118 
00119 // Removed: ClassDef(DbiValidityRecBuilder,0) // Creator of eff. ValidityRecs
00120 
00121 };
00122 
00123 
00124 #endif  // DBIVALIDITYRECBUILDER_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