| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DbiDBProxy.h

Go to the documentation of this file.
00001 
00002 #ifndef DBIDBPROXY_H
00003 #define DBIDBPROXY_H
00004 
00036 #include <string>
00037 using std::string;
00038 #include <list>
00039 #include <vector>
00040 
00041 #include "DatabaseInterface/Dbi.h"
00042 
00043 class DbiCascader;
00044 class DbiResultSet;
00045 class DbiTableMetaData;
00046 class DbiTableProxy;
00047 class Context;
00048 class TimeStamp;
00049 
00050 class DbiDBProxy
00051 {
00052 
00053 public:
00054 
00055 #ifndef __CINT__
00056 typedef const std::vector<UInt_t> SeqList_t;
00057 #endif
00058 
00059 // Constructors.
00060            DbiDBProxy(DbiCascader& cascader, 
00061                       const string& tableName,
00062                       const DbiTableMetaData* metaData,
00063                       const DbiTableMetaData* metaValid,
00064                       const DbiTableProxy* tableProxy);
00065   virtual ~DbiDBProxy();
00066 
00067 // State testing member functions
00068               UInt_t GetNumDb() const;
00069        const string& GetTableName() const { return fTableName; }
00070 const DbiTableProxy* GetTableProxy() const { return fTableProxy; }
00071                 void StoreMetaData(DbiTableMetaData& metaData) const;
00072               Bool_t TableExists() const;
00073 
00074 // Query (input) member functions
00075            void FindTimeBoundaries(const Context& vc, 
00076                                    const Dbi::SubSite& subsite,
00077                                    const Dbi::Task& task,
00078                                    UInt_t dbNo,
00079                                    TimeStamp earliestCreate,
00080                                    TimeStamp& start,
00081                                    TimeStamp& end) const;
00082   DbiResultSet* QueryAllValidities(UInt_t dbNo,UInt_t seqNo=0) const;
00083   DbiResultSet* QuerySeqNo(UInt_t seqNo,UInt_t dbNo) const;
00084 #ifndef __CINT__
00086   DbiResultSet* QuerySeqNos(SeqList_t& seqNos,
00087                             UInt_t dbNo,
00088                             const string& sqlData = "",
00089                             const string& fillOpts = "") const;
00090 #endif
00091   DbiResultSet* QueryValidity(const Context& vc, 
00092                               const Dbi::SubSite& subsite,
00093                               const Dbi::Task& task,
00094                               UInt_t dbNo) const;
00095   DbiResultSet* QueryValidity(const string& context, 
00096                               const Dbi::SubSite& subsite,
00097                               const Dbi::Task& task,
00098                               UInt_t dbNo) const;
00099   DbiResultSet* QueryValidity(UInt_t seqNo,
00100                               UInt_t dbNo) const;
00101 
00102 // Store (output) member functions
00103          Bool_t ReplaceInsertDate(const TimeStamp& ts,
00104                                   UInt_t SeqNo,
00105                                   UInt_t dbNo) const;
00106          Bool_t RemoveSeqNo(UInt_t seqNo,
00107                             UInt_t dbNo) const;
00108          Bool_t ReplaceSeqNo(UInt_t oldSeqNo,
00109                              UInt_t newSeqNo,
00110                              UInt_t dbNo) const;
00111 
00112 // State changing member functions
00113            void SetSqlCondition(const string& sql) { 
00114                                                   fSqlCondition = sql; }
00115 
00116 private:
00117 
00118    Bool_t ReplaceSeqNoOracle(UInt_t oldSeqNo,
00119                              UInt_t newSeqNo,
00120                              UInt_t dbNo) const;
00121 // Disabled (not implemented) copy constructor and asignment.
00122 
00123  DbiDBProxy(const DbiDBProxy&);
00124  DbiDBProxy& operator=(const DbiDBProxy&);
00125 
00126 // Data members
00127  
00129   DbiCascader& fCascader;    
00130 
00132   const DbiTableMetaData* fMetaData;
00133 
00135   const DbiTableMetaData* fMetaValid; 
00136 
00139   string fSqlCondition;
00140 
00142   string fTableName; 
00143 
00145    const DbiTableProxy* fTableProxy;
00146 
00148   string fVldSuffix;
00149 
00150 // Removed: ClassDef(DbiDBProxy,0)     //  Proxy for physical database.
00151 
00152 };
00153 
00154 #endif  // DBIDBPROXY_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:15:46 2011 for DatabaseInterface by doxygen 1.4.7