QualityControl  1.5.1
O2 Data Quality Control Framework
o2::quality_control::repository::MySqlDatabase Class Reference

Implementation of the DatabaseInterface for MySQL. More...

#include <MySqlDatabase.h>

Inheritance diagram for o2::quality_control::repository::MySqlDatabase:
Collaboration diagram for o2::quality_control::repository::MySqlDatabase:

Public Member Functions

 MySqlDatabase ()
 Default constructor.
 
 ~MySqlDatabase () override
 Destructor.
 
void connect (std::string host, std::string database, std::string username, std::string password) override
 
void connect (const std::unordered_map< std::string, std::string > &config) override
 
void storeMO (std::shared_ptr< const o2::quality_control::core::MonitorObject > mo, long from, long to) override
 
std::shared_ptr< o2::quality_control::core::MonitorObjectretrieveMO (std::string taskName, std::string objectName, long timestamp=-1) override
 Look up a monitor object and return it. Look up a monitor object and return it if found or nullptr if not. More...
 
std::string retrieveMOJson (std::string taskName, std::string objectName, long timestamp=-1) override
 Look up a monitor object and return it in JSON format. Look up a monitor object and return it in JSON format if found or an empty string if not. The headers associated with the object are added to the JSON object under the key "metadata". More...
 
void storeQO (std::shared_ptr< const o2::quality_control::core::QualityObject > q, long from, long to) override
 
std::shared_ptr< o2::quality_control::core::QualityObjectretrieveQO (std::string qoPath, long timestamp=-1) override
 Look up a quality object and return it. Look up a quality object and return it if found or nullptr if not. More...
 
std::string retrieveQOJson (std::string qoPath, long timestamp=-1) override
 Look up a quality object and return it in JSON format. Look up a quality object and return it in JSON format if found or an empty string if not. The headers associated with the object are added to the JSON object under the key "metadata". More...
 
std::string retrieveJson (std::string path, long timestamp, const std::map< std::string, std::string > &metadata) override
 Look up an object and return it in JSON format. Look up an object and return it in JSON format if found or an empty string if not. The headers associated with the object are added to the JSON object under the key "metadata". More...
 
TObjectretrieveTObject (std::string path, const std::map< std::string, std::string > &metadata, long timestamp=-1, std::map< std::string, std::string > *headers=nullptr) override
 Look up an object and return it. Look up an object and return it if found or nullptr if not. It is a raw pointer because we might need it to build a MO. More...
 
void disconnect () override
 
std::vector< std::string > getPublishedObjectNames (std::string taskName) override
 
std::vector< std::string > getListOfTasksWithPublications ()
 
void truncate (std::string taskName, std::string objectName) override
 
- Public Member Functions inherited from o2::quality_control::repository::DatabaseInterface
 DatabaseInterface ()=default
 Default constructor.
 
virtual ~DatabaseInterface ()=default
 Destructor.
 
virtual std::string retrieveJson (std::string path)
 Look up an object and return it in JSON format. Look up an object and return it in JSON format if found or an empty string if not. The headers associated with the object are added to the JSON object under the key "metadata". A default timestamp of -1 is used, usually meaning to use the current timestamp. More...
 

Additional Inherited Members

- Static Public Attributes inherited from o2::quality_control::repository::DatabaseInterface
static constexpr framework::ServiceKind service_kind = framework::ServiceKind::Global
 

Detailed Description

Implementation of the DatabaseInterface for MySQL.

Todo:

consider storing directly the TObject, not the MonitorObject, and to put all its attributes as columns

handle ROOT IO streamers

Member Function Documentation

void o2::quality_control::repository::MySqlDatabase::connect ( std::string  host,
std::string  database,
std::string  username,
std::string  password 
)
overridevirtual

Connects to the database. For some implementations, this is a noop.

Parameters
host
database
username
password
Deprecated:

Implements o2::quality_control::repository::DatabaseInterface.

void o2::quality_control::repository::MySqlDatabase::connect ( const std::unordered_map< std::string, std::string > &  config)
overridevirtual

Connects to the database. For some implementations, this is a noop.

Parameters
configmap of values coming from configuration library.

Implements o2::quality_control::repository::DatabaseInterface.

std::string o2::quality_control::repository::MySqlDatabase::retrieveJson ( std::string  path,
long  timestamp,
const std::map< std::string, std::string > &  metadata 
)
overridevirtual

Look up an object and return it in JSON format. Look up an object and return it in JSON format if found or an empty string if not. The headers associated with the object are added to the JSON object under the key "metadata".

Parameters
paththe path of the object
timestampthe timestamp to query the object
metadatafilters under the form of key-value pairs to select data

Implements o2::quality_control::repository::DatabaseInterface.

std::shared_ptr< o2::quality_control::core::MonitorObject > o2::quality_control::repository::MySqlDatabase::retrieveMO ( std::string  taskName,
std::string  objectName,
long  timestamp = -1 
)
overridevirtual

Look up a monitor object and return it. Look up a monitor object and return it if found or nullptr if not.

Deprecated:

Implements o2::quality_control::repository::DatabaseInterface.

std::string o2::quality_control::repository::MySqlDatabase::retrieveMOJson ( std::string  taskName,
std::string  objectName,
long  timestamp = -1 
)
overridevirtual

Look up a monitor object and return it in JSON format. Look up a monitor object and return it in JSON format if found or an empty string if not. The headers associated with the object are added to the JSON object under the key "metadata".

Deprecated:

Implements o2::quality_control::repository::DatabaseInterface.

std::shared_ptr< o2::quality_control::core::QualityObject > o2::quality_control::repository::MySqlDatabase::retrieveQO ( std::string  qoPath,
long  timestamp = -1 
)
overridevirtual

Look up a quality object and return it. Look up a quality object and return it if found or nullptr if not.

Deprecated:

Implements o2::quality_control::repository::DatabaseInterface.

std::string o2::quality_control::repository::MySqlDatabase::retrieveQOJson ( std::string  qoPath,
long  timestamp = -1 
)
overridevirtual

Look up a quality object and return it in JSON format. Look up a quality object and return it in JSON format if found or an empty string if not. The headers associated with the object are added to the JSON object under the key "metadata".

Deprecated:

Implements o2::quality_control::repository::DatabaseInterface.

TObject * o2::quality_control::repository::MySqlDatabase::retrieveTObject ( std::string  path,
const std::map< std::string, std::string > &  metadata,
long  timestamp = -1,
std::map< std::string, std::string > *  headers = nullptr 
)
overridevirtual

Look up an object and return it. Look up an object and return it if found or nullptr if not. It is a raw pointer because we might need it to build a MO.

Parameters
paththe path of the object
timestampthe timestamp to query the object
headersMap to be populated with the headers we received, if it is not null.
metadatafilters under the form of key-value pairs to select data

Implements o2::quality_control::repository::DatabaseInterface.

void o2::quality_control::repository::MySqlDatabase::storeMO ( std::shared_ptr< const o2::quality_control::core::MonitorObject mo,
long  from,
long  to 
)
overridevirtual

Stores the serialized MonitorObject in the database.

Parameters
moThe MonitorObject to serialize and store.
fromThe timestamp indicating the start of object's validity (ms since epoch).
toThe timestamp indicating the end of object's validity (ms since epoch).

Implements o2::quality_control::repository::DatabaseInterface.

void o2::quality_control::repository::MySqlDatabase::storeQO ( std::shared_ptr< const o2::quality_control::core::QualityObject qo,
long  from,
long  to 
)
overridevirtual

Stores the serialized QualityObject in the database.

Parameters
qoThe QualityObject to serialize and store.
fromThe timestamp indicating the start of object's validity (ms since epoch).
toThe timestamp indicating the end of object's validity (ms since epoch).

Implements o2::quality_control::repository::DatabaseInterface.

void o2::quality_control::repository::MySqlDatabase::truncate ( std::string  taskName,
std::string  objectName 
)
overridevirtual

Delete all versions of a given object

Parameters
taskNameTask sending the object
objectNameName of the object

Implements o2::quality_control::repository::DatabaseInterface.


The documentation for this class was generated from the following files: