/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DBIRESULTNONAGG_H 00002 #define DBIRESULTNONAGG_H 00003 00024 #if !defined(__CINT__) || defined(__MAKECINT__) 00025 #include "Rtypes.h" 00026 #endif 00027 #include <string> 00028 using std::string; 00029 #include <vector> 00030 using std::vector; 00031 00032 #include "DatabaseInterface/DbiResult.h" 00033 00034 class DbiBinaryFile; 00035 class DbiResultSet; 00036 class DbiTableRow; 00037 00038 class DbiResultNonAgg : public DbiResult 00039 00040 { 00041 00042 public: 00043 00044 // Only some Satisfies methods are overriden so include base class ones. 00045 using DbiResult::Satisfies; 00046 00047 00048 // Constructors and destructors. 00049 DbiResultNonAgg(DbiResultSet* resultSet = 0, 00050 const DbiTableRow* tableRow = 0, 00051 const DbiValidityRec* vrec = 0, 00052 Bool_t dropSeqNo = kTRUE, 00053 const string& sqlQualifiers = ""); 00054 virtual ~DbiResultNonAgg(); 00055 00056 00057 // State testing member functions 00058 00059 virtual DbiResultKey* CreateKey() const; 00060 virtual UInt_t GetNumAggregates() const { return 1; } 00061 virtual UInt_t GetNumRows() const { 00062 return fRows.size(); } 00063 virtual const DbiTableRow* GetTableRow(UInt_t rowNum) const; 00064 virtual const DbiTableRow* GetTableRowByIndex(UInt_t index) const; 00065 00066 // State changing member functions. 00067 00068 virtual Bool_t Owns(const DbiTableRow* row ) const; 00069 Bool_t Satisfies(const DbiValidityRec& vrec, 00070 const string& sqlQualifiers = ""); 00071 virtual void Streamer(DbiBinaryFile& file); 00072 00073 private: 00074 00075 void DebugCtor() const; 00076 00077 // Data members 00078 00080 std::vector<DbiTableRow*> fRows; 00081 00083 char* fBuffer; 00084 00085 // Removed: ClassDef(DbiResultNonAgg,0) //Example non-aggregated data. 00086 00087 }; 00088 00089 00090 #endif // DBIRESULTNONAGG_H