DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
ral.hpp
Go to the documentation of this file.
1//
2// DUNE DAQ modification notice:
3// This file has been modified from the original ATLAS oks_utils source for the DUNE DAQ project.
4// Fork baseline commit: c2e7dfc7 (2022-03-30).
5// Renamed since fork: yes (from oks/ral.h to include/oksutils/oks/ral.hpp).
6//
7
8#ifndef OKS_RAL_H
9#define OKS_RAL_H
10
11#include <memory>
12#include <string>
13#include <vector>
14
15#include "boost/date_time/local_time/local_time.hpp"
16
17// DEFINEs to switch on / off verbose output
18
19#define VerboseMsg1(MSG) \
20 { \
21 if (verbose_level > 0) { \
22 std::cout << MSG << std::endl; \
23 } \
24 }
25#define VerboseMsg2(MSG) \
26 { \
27 if (verbose_level > 1) { \
28 std::cout << MSG << std::endl; \
29 } \
30 }
31#define VerboseMsg3(MSG) \
32 { \
33 if (verbose_level > 2) { \
34 std::cout << MSG << std::endl; \
35 } \
36 }
37#define VerboseMsg4(MSG) \
38 { \
39 if (verbose_level > 3) { \
40 std::cout << MSG << std::endl; \
41 } \
42 }
43#define VerboseMsg5(MSG) \
44 { \
45 if (verbose_level > 4) { \
46 std::cout << MSG << std::endl; \
47 } \
48 }
49
50namespace coral {
51class ISessionProxy;
52class ConnectionService;
53class AttributeList;
54}
55
56#include "oks/class.hpp"
57#include "oks/object.hpp"
58
59namespace oks {
60
61namespace ral {
62
74
75coral::ISessionProxy*
76start_coral_session(const std::string& connect_string,
77 int mode,
78 std::unique_ptr<coral::ConnectionService>& connection,
79 int verbose_level);
80
95
96int
97get_head_schema_version(coral::ISessionProxy* session,
98 const std::string& schema,
99 const char* release = 0,
100 int verbose_level = 1,
101 const char* dx = "");
102
116
117int
118get_max_schema_version(coral::ISessionProxy* session,
119 const std::string& schema,
120 int verbose_level = 1,
121 const char* dx = "");
122
137
138std::vector<int>
139get_schema_versions(coral::ISessionProxy* session,
140 const std::string& schema,
141 const char* release = 0,
142 int verbose_level = 1,
143 const char* dx = "");
144
160
161void
162get_data_version(coral::ISessionProxy* session,
163 const std::string& schema,
164 const std::string& tag,
165 int& schema_version,
166 int& data_version,
167 const char* release = 0,
168 int verbose_level = 1,
169 const char* dx = "");
170
184
185void
186get_schema(OksKernel& kernel,
187 coral::ISessionProxy* session,
188 const std::string& schema,
189 int version,
190 bool read_methods,
191 int verbose_level);
192
209
210unsigned long
211get_data(OksKernel& kernel,
212 coral::ISessionProxy* session,
213 const std::string& schema,
214 int schema_version,
215 int data_version,
216 int verbose_level,
217 const OksClass::Map* pattern = 0);
218
234
235void
236put_schema(const OksClass::Map& classes,
237 coral::ISessionProxy* session,
238 const std::string& schema,
239 int schema_version,
240 const std::string& description,
241 int verbose_level);
242
250
273
297
298InsertedDataDetails
299put_data(OksKernel& kernel,
300 OksObject::FSet* objects,
301 coral::ISessionProxy* session,
302 const std::string& schema,
303 int& schema_version,
304 int& data_version,
305 int base_version,
306 const std::string& description,
307 long inc_threshold,
308 int verbose_level);
309
323
324void
325tag_data(coral::ISessionProxy* session,
326 const std::string& schema,
327 int schema_version,
328 int data_version,
329 const std::string& tag,
330 int verbose_level);
331
347
348void
349create_archive_record(coral::ISessionProxy* session,
350 const std::string& schema,
351 int schema_version,
352 int data_version,
353 const std::string& partition_name,
354 int run_number,
355 int verbose_level);
356
357void
358get_time_host_user(const coral::AttributeList& data,
359 std::string& time,
360 std::string& host,
361 std::string& user,
362 boost::local_time::time_zone_ptr tz_ptr,
363 const char* prefix = 0);
364
365} /* close namespace 'ral' */
366
367} /* close namespace 'oks' */
368
369#endif
Definition ral.hpp:50
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.
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.
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.
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 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.
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.
int get_max_schema_version(coral::ISessionProxy *session, const std::string &schema, int verbose_level=1, const char *dx="")
Get maximum schema version number.
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 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 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.
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.
Definition ral.hpp:59