00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef TBASKETSQL_H
00013 #define TBASKETSQL_H
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <vector>
00024 #include "TBasket.h"
00025
00026 class TSQLResult;
00027 class TSQLRow;
00028 class TBufferSQL;
00029
00030 class TBasketSQL : public TBasket
00031 {
00032
00033 private:
00034 TBasketSQL(const TBasketSQL&);
00035 TBasketSQL& operator=(const TBasketSQL&);
00036
00037 protected:
00038 TSQLResult **fResultPtr;
00039 TSQLRow **fRowPtr;
00040 TString *fInsertQuery;
00041
00042 public:
00043 TBasketSQL();
00044 TBasketSQL(const char *name, const char *title,
00045 TBranch *branch, TSQLResult **rs,
00046 TString *insert_query, std::vector<Int_t> *vc, TSQLRow **row);
00047 ~TBasketSQL();
00048 void PrepareBasket(Long64_t entry);
00049 virtual Int_t ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file);
00050 virtual Int_t ReadBasketBytes(Long64_t pos, TFile *file);
00051 virtual void Reset();
00052 TSQLResult * GetResultSet() { return *fResultPtr;}
00053 void CreateBuffer(const char *name, TString title, std::vector<Int_t> * vc, TBranch *branch, TSQLResult ** rs);
00054
00055 void Update(Int_t offset, Int_t skipped);
00056
00057 ClassDef(TBasketSQL,1)
00058
00059 };
00060
00061 #endif