/
FairDb.h
91 lines (68 loc) · 1.99 KB
/
FairDb.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#ifndef FAIRDB_H
#define FAIRDB_H
#include <map>
#include <string>
#include <iostream>
#ifndef ROOT_Rtypes
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "Rtypes.h"
#endif
#endif
#include "TString.h"
#include "ValContext.h"
#include "ValTimeStamp.h"
using namespace std;
namespace FairDb
{
typedef Int_t Task;
enum TaskTypes { kAnyTask = -1, // Use to disable task selection in context queries.
kDefaultTask = 0
};
enum TypeRegimes { kRootRegime = 0,
kSQLRegime = 1
};
enum DataTypes { kUnknown,
kBool, // concept
kChar, // concept
kUChar, // concept
kTiny,
kUTiny,
kShort,
kUShort,
kInt, // concept
kUInt, // concept
kLong,
kULong,
kFloat, // concept
kDouble,
kString, // concept
kTString,
kDate // concept
};
enum DbTypes { kUnknownDbType = -1,
kMySQL = 0,
kOracle = 1
};
enum AbortTest { kDisabled,
kTableMissing,
kDataMissing
};
enum {
// Max local Sequence No
kMAXLOCALSEQNO = 99999999,
// Max. length of a table name
kMAXTABLENAMELEN = 80
};
// Time gates for each table in secs.
// Used to trim validity searches.
Int_t GetTimeGate(const std::string& tableName);
void SetTimeGate(const std::string& tableName, Int_t timeGate);
// DateTime conversion utilities.
TString MakeDateTimeString(const ValTimeStamp& timeStamp);
ValTimeStamp MakeTimeStamp(const std::string& sqlDateTime,
Bool_t* ok =0);
TString GetValDescr(const char* tableName,
Bool_t isTemporary = kFALSE);
Bool_t NotGlobalSeqNo(UInt_t seqNo);
}
#endif // FAIRDB_H