StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StDbDefs.hh
1 /***************************************************************************
2  *
3  * $Id: StDbDefs.hh,v 1.33 2021/02/04 16:59:03 dmitry Exp $
4  *
5  * Author: R. Jeff Porter
6  ***************************************************************************
7  *
8  * Description: enum definitions for DataBase Type & Domain.
9  * This allows compile-time checks for standard DB accesses.
10  * The StDbManager _does_ support access by names (strings) for
11  * greater flexibility - though poorer compile-time safegaurds
12  *
13  ***************************************************************************
14  *
15  * $Log: StDbDefs.hh,v $
16  * Revision 1.33 2021/02/04 16:59:03 dmitry
17  * adding new db domain: FCS
18  *
19  * Revision 1.32 2019/01/08 19:12:54 dmitry
20  * new subsystem: ETOF
21  *
22  * Revision 1.31 2018/11/30 20:04:01 dmitry
23  * new detector added - RHICf
24  *
25  * Revision 1.30 2017/02/24 18:52:25 dmitry
26  * new detector added - EPD
27  *
28  * Revision 1.29 2015/04/13 19:43:43 dmitry
29  * added new db domain: SST
30  *
31  * Revision 1.28 2014/10/31 16:11:59 dmitry
32  * adding FPS to the database domain list
33  *
34  * Revision 1.27 2013/09/11 17:40:06 dmitry
35  * new database support: IST
36  *
37  * Revision 1.26 2013/05/28 18:07:43 dmitry
38  * new db domain: MTD
39  *
40  * Revision 1.25 2013/04/01 14:42:51 dmitry
41  * added new domain - PXL
42  *
43  * Revision 1.24 2011/06/16 14:44:00 dmitry
44  * added new domain - FGT
45  *
46  * Revision 1.23 2009/10/12 15:06:11 dmitry
47  * added new domain: pp2pp
48  *
49  * Revision 1.22 2009/09/11 13:11:49 dmitry
50  * added FMS to domain list
51  *
52  * Revision 1.21 2004/08/11 02:09:35 deph
53  * added zdc domain
54  *
55  * Revision 1.20 2004/02/02 00:41:24 deph
56  * Added bbc and tracker domains
57  *
58  * Revision 1.19 2002/11/24 01:39:16 porter
59  * added Pmd domain
60  *
61  * Revision 1.18 2002/11/14 17:43:00 porter
62  * added dbEemc to enumerated domain list
63  *
64  * Revision 1.17 2002/10/29 21:40:39 porter
65  * Added dbScalers as a dbType; dbScaler is a dbDomain from before but now
66  * use as a dbType is more in line with how it will be handled
67  *
68  * Revision 1.16 2001/10/24 04:05:20 porter
69  * added long long type to I/O and got rid of obsolete dataIndex table
70  *
71  * Revision 1.15 2001/04/18 19:33:36 porter
72  * added dbRts enumeration for run-time systems domain
73  *
74  * Revision 1.14 2001/01/22 18:37:53 porter
75  * Update of code needed in next year running. This update has little
76  * effect on the interface (only 1 method has been changed in the interface).
77  * Code also preserves backwards compatibility so that old versions of
78  * StDbLib can read new table structures.
79  * -Important features:
80  * a. more efficient low-level table structure (see StDbSql.cc)
81  * b. more flexible indexing for new systems (see StDbElememtIndex.cc)
82  * c. environment variable override KEYS for each database
83  * d. StMessage support & clock-time logging diagnostics
84  * -Cosmetic features
85  * e. hid stl behind interfaces (see new *Impl.* files) to again allow rootcint access
86  * f. removed codes that have been obsolete for awhile (e.g. db factories)
87  * & renamed some classes for clarity (e.g. tableQuery became StDataBaseI
88  * and mysqlAccessor became StDbSql)
89  *
90  * Revision 1.13 2000/08/15 22:51:51 porter
91  * Added Root2DB class from Masashi Kaneta
92  * + made code more robust against requesting data from non-existent databases
93  *
94  * Revision 1.12 2000/06/02 13:37:36 porter
95  * built up list of minor changes:
96  * - made buffer more robust for certain null inputs
97  * - fixed small leak in StDbTables & restructure call to createMemory
98  * - added dbRhic as a database domain in StDbDefs
99  * - added setUser() in StDbManager
100  * - added more diagnostic printouts in mysqlAccessor.cc
101  *
102  * Revision 1.11 2000/05/04 15:13:11 porter
103  * added dbOnl, dbRich, dbMwc domains as standards
104  *
105  * Revision 1.10 2000/04/25 18:26:02 porter
106  * added flavor & production time as settable query fields in
107  * table &/or node. Associated SQL updated in mysqlAccessor.
108  * Flavor key supports "+" as an OR symbol.
109  *
110  * Revision 1.9 2000/03/28 17:03:18 porter
111  * Several upgrades:
112  * 1. configuration by timestamp for Conditions
113  * 2. query by whereClause made more systematic
114  * 3. conflict between db-stored comments & number lists resolved
115  * 4. ensure endtime is correct for certain query falures
116  * 5. dbstl.h->handles ObjectSpace & RogueWave difference (Online vs Offline)
117  *
118  * Revision 1.8 2000/01/27 05:54:33 porter
119  * Updated for compiling on CC5 + HPUX-aCC + KCC (when flags are reset)
120  * Fixed reConnect()+transaction model mismatch
121  * added some in-code comments
122  *
123  * Revision 1.7 2000/01/10 20:37:53 porter
124  * expanded functionality based on planned additions or feedback from Online work.
125  * update includes:
126  * 1. basis for real transaction model with roll-back
127  * 2. limited SQL access via the manager for run-log & tagDb
128  * 3. balance obtained between enumerated & string access to databases
129  * 4. 3-levels of diagnostic output: Quiet, Normal, Verbose
130  * 5. restructured Node model for better XML support
131  *
132  * Revision 1.6 1999/12/29 13:49:35 porter
133  * fix for Solaris-CC4.2 within StRoot make (cons)...
134  * replaced #include <config.h> with #include <ospace/config.h>
135  *
136  * Revision 1.5 1999/12/28 21:31:41 porter
137  * added 'using std::vector' and 'using std::list' for Solaris CC5 compilation.
138  * Also fixed some warnings arising from the CC5 compiles
139  *
140  * Revision 1.4 1999/09/30 02:06:04 porter
141  * add StDbTime to better handle timestamps, modify SQL content (mysqlAccessor)
142  * allow multiple rows (StDbTable), & Added the comment sections at top of
143  * each header and src file
144  *
145  **************************************************************************/
146 #ifndef STDBDEFS_HH
147 #define STDBDEFS_HH
148 
149 // enumerated standard set of database types
150 enum StDbType { dbStDb=0, dbServer, dbRunLog, dbConfigurations, dbConditions, dbCalibrations, dbGeometry, dbRunCatalog, dbRunParams, dbScalers, dbTestScheme, dbTUser1, dbTUser2, dbTUser3, dbTEnd};
151 
152 // enumerated standard set of database domains
153 enum StDbDomain {dbDomainUnknown=0, dbStar, dbTpc, dbEmc, dbFtpc, dbSvt, dbCtb, dbTrg, dbDaq, dbScaler, dbGlobal, dbL3, dbOnl, dbRich, dbMwc, dbRhic, dbSsd, dbRts, dbTof, dbFpd, dbEemc, dbPmd, dbBbc, dbTracker, dbZdc, dbFms, dbpp2pp, dbFgt, dbPxl, dbMtd, dbIst, dbFps, dbSst, dbEpd, dbRhicf, dbEtof, dbFcs, dbFst, dbFtt, dbDUser1, dbDUser2, dbDUser3, dbDEnd };
154 
155 // enumerated sets of storage models (different sql content)
156 enum StDbStoreType { dbV00=0 };
157 
158 enum dbFindServerMode { userHome=0, serverEnvVar, starDefault };
159 
160 #endif
161 
162 
163 
164 
165 
166 
167 
168 
169 
170