CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
rdbModel Namespace Reference

Classes

class  Assertion
 
class  Builder
 
class  ColCompare
 Function object used to sort columns by column name. More...
 
class  Column
 
class  Connection
 
class  Datatype
 
class  Enum
 
class  FieldVal
 
class  FieldValCompare
 Function object used to sort FieldValPar objects by column name. More...
 
class  Index
 
class  InsertNew
 
class  InterRow
 
class  Manager
 
class  MysqlConnection
 
class  MysqlResults
 
class  Query
 
class  Rdb
 
class  RdbException
 
class  ResultHandle
 
class  Row
 
class  Set
 
class  Supersede
 
class  Table
 
class  Visitor
 
class  XercesBuilder
 

Typedefs

typedef std::vector< std::string > StringVector
 

Enumerations

enum  MATCH { MATCHequivalent , MATCHcompatible , MATCHfail , MATCHnoConnection }
 
enum  FIELDTYPE {
  FIELDTYPElit = 0 , FIELDTYPEold , FIELDTYPEtoBe , FIELDTYPEask ,
  FIELDTYPElitDef , FIELDTYPEoldDef , FIELDTYPEtoBeDef
}
 
enum  OPTYPE {
  OPTYPEundefined = 0 , OPTYPEor = 1 , OPTYPEand , OPTYPEnot ,
  OPTYPEexists , OPTYPEisNull , OPTYPEisEmpty , OPTYPEequal ,
  OPTYPEnotEqual , OPTYPElessThan , OPTYPEgreaterThan , OPTYPElessOrEqual ,
  OPTYPEgreaterOrEqual , OPTYPElast
}
 

Variables

std::string opSymbols [OPTYPElast]
 

Typedef Documentation

◆ StringVector

typedef std::vector<std::string> rdbModel::StringVector

Class to handle connection to an SQL database, or something very like it. It should be able to

  • initiate connection
  • make queries, including making returned data from queries available
  • issue SQL statements such as INSERT and UPDATE which have no returned data other than status
  • close down connection. Someday it might also have a method to create a database

Maybe make it pure virtual? And make a MySQL implementation derived from it.

Initial design will just use host, password, userid passed in. Will be up to caller to insure that the userid has the right privilages for the operations caller intends to do.

Definition at line 52 of file Connection.h.

Enumeration Type Documentation

◆ FIELDTYPE

Enumerator
FIELDTYPElit 
FIELDTYPEold 
FIELDTYPEtoBe 
FIELDTYPEask 
FIELDTYPElitDef 
FIELDTYPEoldDef 
FIELDTYPEtoBeDef 

Definition at line 21 of file Rdb.h.

21 {
22 FIELDTYPElit = 0, // literal value
23 FIELDTYPEold, // col name, refers to (value of) col in existing row
24 FIELDTYPEtoBe, // col name, refers to (value of) col in proposed row
25 FIELDTYPEask, // supply value at the time of the operation
26 FIELDTYPElitDef, // literal but may be overridden
27 FIELDTYPEoldDef, // comes from existing row, may be overridden
28 FIELDTYPEtoBeDef // comes from proposed row, may be overridden
29 };
@ FIELDTYPEtoBe
Definition: Rdb.h:24
@ FIELDTYPEold
Definition: Rdb.h:23
@ FIELDTYPElit
Definition: Rdb.h:22
@ FIELDTYPEtoBeDef
Definition: Rdb.h:28
@ FIELDTYPEoldDef
Definition: Rdb.h:27
@ FIELDTYPEask
Definition: Rdb.h:25
@ FIELDTYPElitDef
Definition: Rdb.h:26

◆ MATCH

The following are used as return codes from the function schemaMatch. which checks for compatibility between the schema definition embodied in an Rdb object and the one at the other end of a Connection.

  • MATCHequivalent means that every comparison attempted has succeeded
  • MATCHcompatible means that everything required by the local schema exists in the remote db, but not necessarily the other way around. selects, inserts and updates attempted via the Connection should work.
  • MATCHfail means the remote db is missing something described locally, or types are incompatible for corresponding objects.
Enumerator
MATCHequivalent 
MATCHcompatible 
MATCHfail 
MATCHnoConnection 

Definition at line 25 of file Connection.h.

25 {
30 };
@ MATCHequivalent
Definition: Connection.h:26
@ MATCHnoConnection
Definition: Connection.h:29
@ MATCHfail
Definition: Connection.h:28
@ MATCHcompatible
Definition: Connection.h:27

◆ OPTYPE

Enumerator
OPTYPEundefined 
OPTYPEor 
OPTYPEand 
OPTYPEnot 
OPTYPEexists 
OPTYPEisNull 
OPTYPEisEmpty 
OPTYPEequal 
OPTYPEnotEqual 
OPTYPElessThan 
OPTYPEgreaterThan 
OPTYPElessOrEqual 
OPTYPEgreaterOrEqual 
OPTYPElast 

Definition at line 14 of file Calibration/rdbModel/rdbModel-00-01-01/rdbModel/Tables/Assertion.h.

14 {
16 OPTYPEor = 1,
22 OPTYPEequal, // first of 2-operand compare ops
29 };

Variable Documentation

◆ opSymbols

std::string rdbModel::opSymbols[OPTYPElast]

Definition at line 479 of file MysqlConnection.cxx.