CMS 3D CMS Logo

Classes | Namespaces | Macros | Functions
DbCore.h File Reference
#include "CondCore/CondDB/interface/Exception.h"
#include "CondCore/CondDB/interface/Binary.h"
#include "CondCore/CondDB/interface/Time.h"
#include "CondCore/CondDB/interface/Types.h"
#include "CoralBase/AttributeList.h"
#include "CoralBase/Attribute.h"
#include "CoralBase/AttributeSpecification.h"
#include "CoralBase/Blob.h"
#include "CoralBase/TimeStamp.h"
#include "RelationalAccess/ICursor.h"
#include "RelationalAccess/ISchema.h"
#include "RelationalAccess/ISessionProxy.h"
#include "RelationalAccess/IQuery.h"
#include "RelationalAccess/TableDescription.h"
#include "RelationalAccess/ITable.h"
#include "RelationalAccess/ITableDataEditor.h"
#include "RelationalAccess/IBulkOperation.h"
#include "RelationalAccess/SchemaException.h"
#include <tuple>
#include <cstring>
#include <set>
#include <map>
#include <memory>
#include <boost/date_time/posix_time/posix_time.hpp>

Go to the source code of this file.

Classes

struct  cond::persistency::AttributeTypeName< T >
 
struct  cond::persistency::AttributeTypeName< boost::posix_time::ptime >
 
struct  cond::persistency::AttributeTypeName< cond::Binary >
 
struct  cond::persistency::AttributeTypeName< cond::SynchronizationType >
 
struct  cond::persistency::AttributeTypeName< cond::TimeType >
 
class  cond::persistency::BulkInserter< Types >
 
struct  cond::persistency::DefineQueryOutput< T >
 
struct  cond::persistency::DefineQueryOutput< boost::posix_time::ptime >
 
struct  cond::persistency::DefineQueryOutput< cond::Binary >
 
struct  cond::persistency::DefineQueryOutput< cond::SynchronizationType >
 
struct  cond::persistency::DefineQueryOutput< cond::TimeType >
 
struct  cond::persistency::DefineQueryOutput< std::array< char, n > >
 
class  cond::persistency::DeleteBuffer
 
struct  cond::persistency::GetFromRow< T >
 
struct  cond::persistency::GetFromRow< boost::posix_time::ptime >
 
struct  cond::persistency::GetFromRow< cond::Binary >
 
struct  cond::persistency::GetFromRow< cond::SynchronizationType >
 
struct  cond::persistency::GetFromRow< cond::TimeType >
 
struct  cond::persistency::GetFromRow< std::array< char, n > >
 
class  cond::persistency::Query< Types >
 
class  cond::persistency::Query< Types >
 
class  cond::persistency::QueryIterator< Types >
 
class  cond::persistency::RowBuffer< Columns >
 
class  cond::persistency::TableDescription< Types >
 
class  cond::persistency::UpdateBuffer
 

Namespaces

 cond
 
 cond::persistency
 

Macros

#define conddb_column(...)   SELECT_COLUMN_MACRO(__VA_ARGS__)(__VA_ARGS__)
 
#define conddb_table(NAME)
 
#define FIXSIZE_COLUMN(NAME, TYPE, SIZE)
 
#define GET_4TH_ARG(arg1, arg2, arg3, arg4, ...)   arg4
 
#define SELECT_COLUMN_MACRO(...)   GET_4TH_ARG(__VA_ARGS__, FIXSIZE_COLUMN, VARSIZE_COLUMN, WRONG_PAR_NUMBER_ERROR )
 
#define VARSIZE_COLUMN(NAME, TYPE)   FIXSIZE_COLUMN( NAME, TYPE, 0 )
 
#define WRONG_PAR_NUMBER_ERROR(...)   static_assert( false, "\"column\" macro accepts exactly 2 or 3 parameters" )
 

Functions

template<typename T >
void cond::persistency::f_add_attribute (coral::AttributeList &data, const std::string &attributeName, const T &param, bool init=true)
 
template<>
void cond::persistency::f_add_attribute (coral::AttributeList &data, const std::string &attributeName, const cond::Binary &param, bool init)
 
template<>
void cond::persistency::f_add_attribute (coral::AttributeList &data, const std::string &attributeName, const boost::posix_time::ptime &param, bool init)
 
template<>
void cond::persistency::f_add_attribute (coral::AttributeList &data, const std::string &attributeName, const cond::TimeType &param, bool init)
 
template<>
void cond::persistency::f_add_attribute (coral::AttributeList &data, const std::string &attributeName, const cond::SynchronizationType &param, bool init)
 
template<typename Column , typename P >
void cond::persistency::f_add_column_data (coral::AttributeList &data, const P &param, bool init=true)
 
template<typename T >
void cond::persistency::f_add_column_description (coral::TableDescription &table, const std::string &columnName, size_t size=0, bool notNull=true)
 
template<typename C1 , typename C2 >
void cond::persistency::f_add_condition (std::string &whereClause, const std::string condition="=")
 
template<typename Column , typename P >
void cond::persistency::f_add_condition_data (coral::AttributeList &data, std::string &whereClause, const P &value, const std::string condition="=")
 
template<typename T , typename Arg1 >
bool cond::persistency::is_same_any ()
 
template<typename T , typename Arg1 , typename Arg2 , typename... Args>
bool cond::persistency::is_same_any ()
 
template<typename T , typename P >
void cond::persistency::static_assert_is_same_decayed ()
 

Macro Definition Documentation

#define conddb_column (   ...)    SELECT_COLUMN_MACRO(__VA_ARGS__)(__VA_ARGS__)

Definition at line 73 of file DbCore.h.

#define conddb_table (   NAME)
Value:
namespace NAME {\
static constexpr char const* tname = #NAME ;\
}\
namespace NAME
static char const * tname
Definition: GTSchema.h:13
#define constexpr

Definition at line 48 of file DbCore.h.

#define FIXSIZE_COLUMN (   NAME,
  TYPE,
  SIZE 
)
Value:
struct NAME {\
static constexpr char const* name = #NAME; \
typedef TYPE type;\
static constexpr size_t size = SIZE;\
static std::string tableName(){ return std::string(tname); }\
static std::string fullyQualifiedName(){ return std::string(tname)+"."+name; }\
};\
size
Write out results.
type
Definition: HCALResponse.h:21
static char const * tname
Definition: GTSchema.h:13
#define constexpr

Definition at line 56 of file DbCore.h.

#define GET_4TH_ARG (   arg1,
  arg2,
  arg3,
  arg4,
  ... 
)    arg4

Definition at line 68 of file DbCore.h.

#define SELECT_COLUMN_MACRO (   ...)    GET_4TH_ARG(__VA_ARGS__, FIXSIZE_COLUMN, VARSIZE_COLUMN, WRONG_PAR_NUMBER_ERROR )

Definition at line 70 of file DbCore.h.

#define VARSIZE_COLUMN (   NAME,
  TYPE 
)    FIXSIZE_COLUMN( NAME, TYPE, 0 )

Definition at line 65 of file DbCore.h.

#define WRONG_PAR_NUMBER_ERROR (   ...)    static_assert( false, "\"column\" macro accepts exactly 2 or 3 parameters" )

Definition at line 69 of file DbCore.h.