BOSS 7.0.7
BESIII Offline Software System
|
#include <Rdb.h>
Public Member Functions | |
virtual | ~Rdb () |
Rdb () | |
unsigned | getMajorVersion () |
unsigned | getMinorVersion () |
const std::string & | getCVSid () |
const std::string & | getDbName () |
Table * | getTable (const std::string &name) const |
Column * | getColumn (const std::string &tableName, const std::string &colName) const |
Index * | getIndex (const std::string &tableName, const std::string &indexName) const |
unsigned int | getNTable () const |
void | setConnection (Connection *connection) |
int | insertRow (const std::string &tName, Row &row, int *serial=0) const |
int | insertLatest (Table *t, Row &row, int *serial=0) const |
int | insertLatest (const std::string &tName, Row &row, int *serial=0) const |
int | supersedeRow (const std::string &tName, Row &row, int oldKey, int *newKey=0) const |
int | updateRows (const std::string &tName, Row &row, Assertion *where) const |
unsigned int | accept (Visitor *v) |
This is the recursive accept for the visitor pattern. | |
Friends | |
class | rdbModel::XercesBuilder |
This is the main container of all the rdb description. The Manager is responsible for its creation and destruction. Provide both a query interface (provide various functions to look up components by name) and also accept visitors.
Adapted from detModel::Gdd class, written by R. Giannitrapani and D. Favretto
|
virtual |
This is the destructor; it should be called only by the manager destructor. It starts the destruction of all the objects created by the builder
Definition at line 8 of file Rdb.cxx.
unsigned int rdbModel::Rdb::accept | ( | Visitor * | v | ) |
This is the recursive accept for the visitor pattern.
Definition at line 98 of file Rdb.cxx.
Referenced by rdbModel::MysqlConnection::matchSchema(), and rdbModel::Manager::startVisitor().
Column * rdbModel::Rdb::getColumn | ( | const std::string & | tableName, |
const std::string & | colName | ||
) | const |
|
inline |
|
inline |
Definition at line 56 of file Rdb.h.
Referenced by rdbModel::MysqlConnection::visitRdb().
Index * rdbModel::Rdb::getIndex | ( | const std::string & | tableName, |
const std::string & | indexName | ||
) | const |
|
inline |
|
inline |
|
inline |
Definition at line 68 of file Rdb.h.
Referenced by rdbModel::MysqlConnection::visitRdb().
Table * rdbModel::Rdb::getTable | ( | const std::string & | name | ) | const |
Definition at line 16 of file Rdb.cxx.
Referenced by calibUtil::Metadata::checkNulls(), calibUtil::Metadata::checkValues(), getColumn(), getIndex(), insertLatest(), insertRow(), main(), supersedeRow(), and updateRows().
int rdbModel::Rdb::insertLatest | ( | const std::string & | tName, |
Row & | row, | ||
int * | serial = 0 |
||
) | const |
The two forms of smart insert, in addition to filling in the service fields, as insertRow does, do various forms of consistency checking and may even update pre-existing rows.
Definition at line 72 of file Rdb.cxx.
Referenced by doSmartInsert().
int rdbModel::Rdb::insertRow | ( | const std::string & | tName, |
Row & | row, | ||
int * | serial = 0 |
||
) | const |
insertRow has only one value-added feature as compared to an SQL insert: it will take care of fields intended to be filled by the service (e.g., insert and update timestamps)
Definition at line 52 of file Rdb.cxx.
Referenced by doInsert().
void rdbModel::Rdb::setConnection | ( | Connection * | connection | ) |
Definition at line 43 of file Rdb.cxx.
Referenced by rdbModel::MysqlConnection::visitRdb().
int rdbModel::Rdb::supersedeRow | ( | const std::string & | tName, |
Row & | row, | ||
int | oldKey, | ||
int * | newKey = 0 |
||
) | const |
Fills in service fields, then invokes Connection::update
Definition at line 62 of file Rdb.cxx.
Referenced by doUpdate().
|
friend |