DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
oks::ral Namespace Reference

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)
 

Function Documentation

◆ create_archive_record()

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:

Parameters
sessionpointer on CORAL session
schema_versionexisting schema version
schemaworking schema
data_versionexisting data version
partition_namename of the TDAQ partition
run_numbernumber of the TDAQ data-taking run
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)

◆ get_data()

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:

Parameters
kerneloks kernel used to define oks classes
sessionpointer on CORAL session
schemaworking schema
schema_versionexisting schema version
data_versionexisting data version
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)
patternif defined, the read classes must match the pattern
Returns
Return total number of rows read from relational tables to get the data.

◆ get_data_version()

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:

Parameters
sessionpointer on CORAL session
schemaworking schema
tagtag of the data; if empty, get HEAD version
schema_versionreturned schema version
data_versionreturned data version
releasename of release to get HEAD version (if null, use current release)
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)
dxoptional string to shift verbose output; to be used for alignment

◆ get_head_schema_version()

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:

Parameters
sessionpointer on CORAL session
schemaworking schema
releasename of the release, for which take the schema (if null, use current release)
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)
dxoptional string to shift verbose output; to be used for alignment
Returns
Return head version.

◆ get_max_schema_version()

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:

Parameters
sessionpointer on CORAL session
schemaworking schema
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)
dxoptional string to shift verbose output; to be used for alignment
Returns
Return head version.

◆ get_schema()

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:

Parameters
kerneloks kernel used to define oks classes
schemaworking schema
sessionpointer on CORAL session
versionexisting schema version
read_methodsdo not read description of methods (e.g. when only data are needed)
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)

◆ get_schema_versions()

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:

Parameters
sessionpointer on CORAL session
schemaworking schema
releasename of the release, for which take the schema (if null, use current release)
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)
dxoptional string to shift verbose output; to be used for alignment
Returns
Return schema versions in descent order.

◆ get_time_host_user()

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 )

◆ put_data()

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:

Parameters
kernelkernel containing oks objects to be stored
objectsif defined, then only put such objects; otherwise put ALL objects
sessionpointer on CORAL session
schemaworking schema
schema_versionexisting schema version; if 0, use head schema version
data_versionnew data version; if 0, create new head version incrementing max defined data version for given schema
base_versionif < 0, create new full version; if > 0, use given version as base for incremental versioning; if = 0, use head version as base version
descriptiondescription for new data
inc_thresholdif it is above 0, then defines incremental version threshold size (data are not copied from tempral tables on exceed)
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)
Returns
Return number of relational tables rows to store the data; if it is negative, the new version is the same as the base version. The schema_version and data_version parameters return versions to used to access stored data.

◆ put_schema()

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:

Parameters
classesoks classes to be stored in the new schema
sessionpointer on CORAL session
schemaworking schema
schema_versionif >0 - new schema version; if 0, create new head version incrementing max defined version; if <0, add classes to existing schema = MOD(schema_version)
descriptiondescription for new schema
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)

◆ start_coral_session()

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:

Parameters
connect_stringconnection to be used with this session (parameters are in the authentication.xml file)
modepass coral::Update for write access or coral::ReadOnly for read-only access
connectionout parameter returning pointer to CORAL connection object
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)

◆ tag_data()

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:

Parameters
sessionpointer on CORAL session
schemaworking schema
schema_versionexisting schema version
data_versionexisting data version
tagunique tag
verbose_levellevel of verbose output (0 - none, 1 - normal, 2 - extended, 3 - debug, ...)