ROOT logo
#ifndef HDBCOLUMNTYPE
#define HDBCOLUMNTYPE

#include "TNamed.h"

class HDbColumnType : public TNamed {
friend class HDbColumn;
protected:
  Int_t   varLength;        // Length in bytes
  Int_t   dataPrecision;    // Data precision
  Int_t   dataScale;        // Data scale
public:
  HDbColumnType() {}
  HDbColumnType(const Char_t*, Int_t l=0, Int_t p=0, Int_t s=0 );
  virtual ~HDbColumnType() {}
  virtual TString getTypeString() { return TString(GetName()); }
  virtual TString getSelectString(const Char_t*, const Char_t*);
  virtual TString getNvlSelectString(const Char_t*, const Char_t*, const Char_t*);
  ClassDef(HDbColumnType,0) // Base class for Oracle column types
};

class HDbColCharType : public HDbColumnType {
friend class HDbColumn;
public:
  HDbColCharType(Int_t l=1);
  ~HDbColCharType() {}
  TString getTypeString();
  TString getSelectString(const Char_t*, const Char_t*);
  TString getNvlSelectString(const Char_t*, const Char_t*, const Char_t*);
  ClassDef(HDbColCharType,0) // Class for Oracle type CHAR
};

class HDbColVcType : public HDbColumnType {
friend class HDbColumn;
public:
  HDbColVcType(Int_t l=80);
  ~HDbColVcType() {}
  TString getTypeString();
  TString getSelectString(const Char_t*, const Char_t*);
  TString getNvlSelectString(const Char_t*, const Char_t*, const Char_t*);
  ClassDef(HDbColVcType,0) // Class for Oracle type VARCHAR2
};

class HDbColNumType : public HDbColumnType {
friend class HDbColumn;
public:
  HDbColNumType(Int_t p=40, Int_t s=0);
  ~HDbColNumType() {}
  TString getTypeString();
  TString getSelectString(const Char_t*, const Char_t*);
  TString getNvlSelectString(const Char_t*, const Char_t*, const Char_t*);
  ClassDef(HDbColNumType,0) // Class for Oracle type NUMBER
};

class HDbColDateType : public HDbColumnType {
friend class HDbColumn;
public:
  HDbColDateType(Int_t l=75);
  ~HDbColDateType() {}
  TString getSelectString(const Char_t*, const Char_t*);
  TString getNvlSelectString(const Char_t*, const Char_t*, const Char_t*);
  ClassDef(HDbColDateType,0) // Class for Oracle type DATE
};

class HDbColLongType : public HDbColumnType {
friend class HDbColumn;
public:
  HDbColLongType(Int_t l=32767);
  ~HDbColLongType() {}
  ClassDef(HDbColLongType,0) // Class for Oracle type LONG
};

class HDbColRowidType : public HDbColumnType {
friend class HDbColumn;
public:
  HDbColRowidType() : HDbColumnType("ROWID",18) {}
  ~HDbColRowidType() {}
  TString getSelectString(const Char_t*, const Char_t*);
  TString getNvlSelectString(const Char_t*, const Char_t*, const Char_t*);
  ClassDef(HDbColRowidType,0) // Class for Oracle type ROWID
};

class HDbColRawType : public HDbColumnType {
friend class HDbColumn;
public:
  HDbColRawType(Int_t l=255);
  ~HDbColRawType() {}
  TString getTypeString();
  ClassDef(HDbColRawType,0) // Class for Oracle type RAW
};

#endif /* !HDBCOLUMNTYPE_H */
 hdbcolumntype.h:1
 hdbcolumntype.h:2
 hdbcolumntype.h:3
 hdbcolumntype.h:4
 hdbcolumntype.h:5
 hdbcolumntype.h:6
 hdbcolumntype.h:7
 hdbcolumntype.h:8
 hdbcolumntype.h:9
 hdbcolumntype.h:10
 hdbcolumntype.h:11
 hdbcolumntype.h:12
 hdbcolumntype.h:13
 hdbcolumntype.h:14
 hdbcolumntype.h:15
 hdbcolumntype.h:16
 hdbcolumntype.h:17
 hdbcolumntype.h:18
 hdbcolumntype.h:19
 hdbcolumntype.h:20
 hdbcolumntype.h:21
 hdbcolumntype.h:22
 hdbcolumntype.h:23
 hdbcolumntype.h:24
 hdbcolumntype.h:25
 hdbcolumntype.h:26
 hdbcolumntype.h:27
 hdbcolumntype.h:28
 hdbcolumntype.h:29
 hdbcolumntype.h:30
 hdbcolumntype.h:31
 hdbcolumntype.h:32
 hdbcolumntype.h:33
 hdbcolumntype.h:34
 hdbcolumntype.h:35
 hdbcolumntype.h:36
 hdbcolumntype.h:37
 hdbcolumntype.h:38
 hdbcolumntype.h:39
 hdbcolumntype.h:40
 hdbcolumntype.h:41
 hdbcolumntype.h:42
 hdbcolumntype.h:43
 hdbcolumntype.h:44
 hdbcolumntype.h:45
 hdbcolumntype.h:46
 hdbcolumntype.h:47
 hdbcolumntype.h:48
 hdbcolumntype.h:49
 hdbcolumntype.h:50
 hdbcolumntype.h:51
 hdbcolumntype.h:52
 hdbcolumntype.h:53
 hdbcolumntype.h:54
 hdbcolumntype.h:55
 hdbcolumntype.h:56
 hdbcolumntype.h:57
 hdbcolumntype.h:58
 hdbcolumntype.h:59
 hdbcolumntype.h:60
 hdbcolumntype.h:61
 hdbcolumntype.h:62
 hdbcolumntype.h:63
 hdbcolumntype.h:64
 hdbcolumntype.h:65
 hdbcolumntype.h:66
 hdbcolumntype.h:67
 hdbcolumntype.h:68
 hdbcolumntype.h:69
 hdbcolumntype.h:70
 hdbcolumntype.h:71
 hdbcolumntype.h:72
 hdbcolumntype.h:73
 hdbcolumntype.h:74
 hdbcolumntype.h:75
 hdbcolumntype.h:76
 hdbcolumntype.h:77
 hdbcolumntype.h:78
 hdbcolumntype.h:79
 hdbcolumntype.h:80
 hdbcolumntype.h:81
 hdbcolumntype.h:82
 hdbcolumntype.h:83
 hdbcolumntype.h:84
 hdbcolumntype.h:85
 hdbcolumntype.h:86
 hdbcolumntype.h:87
 hdbcolumntype.h:88
 hdbcolumntype.h:89
 hdbcolumntype.h:90
 hdbcolumntype.h:91
 hdbcolumntype.h:92