Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TBasketSQL.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/tree:$Id$
0002 // Author: Philippe Canal 2005
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef TBASKETSQL_H
0013 #define TBASKETSQL_H
0014 
0015 //////////////////////////////////////////////////////////////////////////
0016 //                                                                      //
0017 // TBasketSQL                                                           //
0018 //                                                                      //
0019 // Implement TBasket for a SQL backend                                  //
0020 //                                                                      //
0021 //////////////////////////////////////////////////////////////////////////
0022 
0023 #include <vector>
0024 #include "TBasket.h"
0025 
0026 class TSQLResult;
0027 class TSQLRow;
0028 class TBufferSQL;
0029 
0030 class TBasketSQL : public TBasket
0031 {
0032 
0033 private:
0034    TBasketSQL(const TBasketSQL&);            // TBasketSQL objects are not copiable.
0035    TBasketSQL& operator=(const TBasketSQL&); // TBasketSQL objects are not copiable.
0036 
0037 protected:
0038    TSQLResult **fResultPtr;    //!
0039    TSQLRow    **fRowPtr;       //!
0040    TString      *fInsertQuery; //!
0041 
0042 public:
0043    TBasketSQL();
0044    TBasketSQL(const char *name, const char *title,
0045               TBranch *branch, TSQLResult **rs,
0046               TString *insert_query, std::vector<Int_t> *vc, TSQLRow **row);
0047    ~TBasketSQL() override;
0048    void    PrepareBasket(Long64_t entry) override;
0049    virtual Int_t   ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file);
0050    virtual Int_t   ReadBasketBytes(Long64_t pos, TFile *file);
0051 
0052    TSQLResult * GetResultSet() { return *fResultPtr;}
0053    void CreateBuffer(const char *name, TString title, std::vector<Int_t> * vc, TBranch *branch, TSQLResult ** rs);
0054 
0055    void Update(Int_t offset, Int_t skipped) override;
0056 
0057    ClassDefOverride(TBasketSQL,1)  //the TBranch buffers
0058 
0059 };
0060 
0061 #endif