TBasketSQL.h

Go to the documentation of this file.
00001 // @(#)root/tree:$Id: TBasketSQL.h 35231 2010-09-10 17:59:10Z pcanal $
00002 // Author: Philippe Canal 2005
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef TBASKETSQL_H
00013 #define TBASKETSQL_H
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 //                                                                      //
00017 // TBasketSQL                                                           //
00018 //                                                                      //
00019 // Implement TBasket for a SQL backend                                  //
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&);            // TBasketSQL objects are not copiable.
00035    TBasketSQL& operator=(const TBasketSQL&); // TBasketSQL objects are not copiable.
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)  //the TBranch buffers
00058 
00059 };
00060 
00061 #endif

Generated on Tue Jul 5 14:26:31 2011 for ROOT_528-00b_version by  doxygen 1.5.1