DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Classes | |
struct | InsertedDataDetails |
Structure to describe number of changes when new version is created. More... | |
Functions | |
coral::ISessionProxy * | start_coral_session (const std::string &connect_string, int mode, std::unique_ptr< coral::ConnectionService > &connection, int verbose_level) |
Start coral session. | |
int | get_head_schema_version (coral::ISessionProxy *session, const std::string &schema, const char *release=0, int verbose_level=1, const char *dx="") |
Get HEAD schema version number. | |
int | get_max_schema_version (coral::ISessionProxy *session, const std::string &schema, int verbose_level=1, const char *dx="") |
Get maximum schema version number. | |
std::vector< int > | get_schema_versions (coral::ISessionProxy *session, const std::string &schema, const char *release=0, int verbose_level=1, const char *dx="") |
Get schema versions for given release. | |
void | get_data_version (coral::ISessionProxy *session, const std::string &schema, const std::string &tag, int &schema_version, int &data_version, const char *release=0, int verbose_level=1, const char *dx="") |
Get data version by tag. | |
void | get_schema (OksKernel &kernel, coral::ISessionProxy *session, const std::string &schema, int version, bool read_methods, int verbose_level) |
Get schema by version number. | |
unsigned long | get_data (OksKernel &kernel, coral::ISessionProxy *session, const std::string &schema, int schema_version, int data_version, int verbose_level, const OksClass::Map *pattern=0) |
Get data by version numbers. | |
void | put_schema (const OksClass::Map &classes, coral::ISessionProxy *session, const std::string &schema, int schema_version, const std::string &description, int verbose_level) |
Create new schema or add classesto existing schema. | |
InsertedDataDetails | put_data (OksKernel &kernel, OksObject::FSet *objects, coral::ISessionProxy *session, const std::string &schema, int &schema_version, int &data_version, int base_version, const std::string &description, long inc_threshold, int verbose_level) |
Create new data. | |
void | tag_data (coral::ISessionProxy *session, const std::string &schema, int schema_version, int data_version, const std::string &tag, int verbose_level) |
Tag data version. | |
void | create_archive_record (coral::ISessionProxy *session, const std::string &schema, int schema_version, int data_version, const std::string &partition_name, int run_number, int verbose_level) |
Store information about used data. | |
void | get_time_host_user (const coral::AttributeList &data, std::string &time, std::string &host, std::string &user, boost::local_time::time_zone_ptr tz_ptr, const char *prefix=0) |
void oks::ral::create_archive_record | ( | coral::ISessionProxy * | session, |
const std::string & | schema, | ||
int | schema_version, | ||
int | data_version, | ||
const std::string & | partition_name, | ||
int | run_number, | ||
int | verbose_level ) |
Store information about used data.
The function is TDAQ specific. It stores information about OKS data used for data-taking runs referencing configuration by partition name, run number and time.
The parameters are:
session | pointer on CORAL session |
schema_version | existing schema version |
schema | working schema |
data_version | existing data version |
partition_name | name of the TDAQ partition |
run_number | number of the TDAQ data-taking run |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
unsigned long oks::ral::get_data | ( | OksKernel & | kernel, |
coral::ISessionProxy * | session, | ||
const std::string & | schema, | ||
int | schema_version, | ||
int | data_version, | ||
int | verbose_level, | ||
const OksClass::Map * | pattern = 0 ) |
Get data by version numbers.
The function reads oks objects from relational database and defines them in the oks kernel.
The parameters are:
kernel | oks kernel used to define oks classes |
session | pointer on CORAL session |
schema | working schema |
schema_version | existing schema version |
data_version | existing data version |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
pattern | if defined, the read classes must match the pattern |
void oks::ral::get_data_version | ( | coral::ISessionProxy * | session, |
const std::string & | schema, | ||
const std::string & | tag, | ||
int & | schema_version, | ||
int & | data_version, | ||
const char * | release = 0, | ||
int | verbose_level = 1, | ||
const char * | dx = "" ) |
Get data version by tag.
The function returns data version for given tag.
The parameters are:
session | pointer on CORAL session |
schema | working schema |
tag | tag of the data; if empty, get HEAD version |
schema_version | returned schema version |
data_version | returned data version |
release | name of release to get HEAD version (if null, use current release) |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
dx | optional string to shift verbose output; to be used for alignment |
int oks::ral::get_head_schema_version | ( | coral::ISessionProxy * | session, |
const std::string & | schema, | ||
const char * | release = 0, | ||
int | verbose_level = 1, | ||
const char * | dx = "" ) |
Get HEAD schema version number.
The function returns schema with maximum version number for given release.
The parameters are:
session | pointer on CORAL session |
schema | working schema |
release | name of the release, for which take the schema (if null, use current release) |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
dx | optional string to shift verbose output; to be used for alignment |
int oks::ral::get_max_schema_version | ( | coral::ISessionProxy * | session, |
const std::string & | schema, | ||
int | verbose_level = 1, | ||
const char * | dx = "" ) |
Get maximum schema version number.
The function returns maximum schema version number to be used to choose free version number.
The parameters are:
session | pointer on CORAL session |
schema | working schema |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
dx | optional string to shift verbose output; to be used for alignment |
void oks::ral::get_schema | ( | OksKernel & | kernel, |
coral::ISessionProxy * | session, | ||
const std::string & | schema, | ||
int | version, | ||
bool | read_methods, | ||
int | verbose_level ) |
Get schema by version number.
The function reads oks classes from relational database and defines them in the oks kernel.
The parameters are:
kernel | oks kernel used to define oks classes |
schema | working schema |
session | pointer on CORAL session |
version | existing schema version |
read_methods | do not read description of methods (e.g. when only data are needed) |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
std::vector< int > oks::ral::get_schema_versions | ( | coral::ISessionProxy * | session, |
const std::string & | schema, | ||
const char * | release = 0, | ||
int | verbose_level = 1, | ||
const char * | dx = "" ) |
Get schema versions for given release.
The function returns all existing schema version numbers for given release.
The parameters are:
session | pointer on CORAL session |
schema | working schema |
release | name of the release, for which take the schema (if null, use current release) |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
dx | optional string to shift verbose output; to be used for alignment |
void oks::ral::get_time_host_user | ( | const coral::AttributeList & | data, |
std::string & | time, | ||
std::string & | host, | ||
std::string & | user, | ||
boost::local_time::time_zone_ptr | tz_ptr, | ||
const char * | prefix = 0 ) |
InsertedDataDetails oks::ral::put_data | ( | OksKernel & | kernel, |
OksObject::FSet * | objects, | ||
coral::ISessionProxy * | session, | ||
const std::string & | schema, | ||
int & | schema_version, | ||
int & | data_version, | ||
int | base_version, | ||
const std::string & | description, | ||
long | inc_threshold, | ||
int | verbose_level ) |
Create new data.
The function creates new data in the relational database and stores there oks objects.
The parameters are:
kernel | kernel containing oks objects to be stored |
objects | if defined, then only put such objects; otherwise put ALL objects |
session | pointer on CORAL session |
schema | working schema |
schema_version | existing schema version; if 0, use head schema version |
data_version | new data version; if 0, create new head version incrementing max defined data version for given schema |
base_version | if < 0, create new full version; if > 0, use given version as base for incremental versioning; if = 0, use head version as base version |
description | description for new data |
inc_threshold | if it is above 0, then defines incremental version threshold size (data are not copied from tempral tables on exceed) |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
void oks::ral::put_schema | ( | const OksClass::Map & | classes, |
coral::ISessionProxy * | session, | ||
const std::string & | schema, | ||
int | schema_version, | ||
const std::string & | description, | ||
int | verbose_level ) |
Create new schema or add classesto existing schema.
The function creates new schema or updates existing schema in the relational database and stores there oks classes.
The parameters are:
classes | oks classes to be stored in the new schema |
session | pointer on CORAL session |
schema | working schema |
schema_version | if >0 - new schema version; if 0, create new head version incrementing max defined version; if <0, add classes to existing schema = MOD(schema_version) |
description | description for new schema |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
coral::ISessionProxy * oks::ral::start_coral_session | ( | const std::string & | connect_string, |
int | mode, | ||
std::unique_ptr< coral::ConnectionService > & | connection, | ||
int | verbose_level ) |
Start coral session.
Loads all required CORAL services, establishes connection with RDBMS and starts new transaction.
The parameters are:
connect_string | connection to be used with this session (parameters are in the authentication.xml file) |
mode | pass coral::Update for write access or coral::ReadOnly for read-only access |
connection | out parameter returning pointer to CORAL connection object |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |
void oks::ral::tag_data | ( | coral::ISessionProxy * | session, |
const std::string & | schema, | ||
int | schema_version, | ||
int | data_version, | ||
const std::string & | tag, | ||
int | verbose_level ) |
Tag data version.
The function sets tag to existing schema and data versions.
The parameters are:
session | pointer on CORAL session |
schema | working schema |
schema_version | existing schema version |
data_version | existing data version |
tag | unique tag |
verbose_level | level of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...) |