CYCLUS
Loading...
Searching...
No Matches
query_backend.h File Reference
#include <climits>
#include <list>
#include <map>
#include <set>
#include <boost/version.hpp>
#include <boost/uuid/sha1.hpp>
#include "blob.h"
#include "rec_backend.h"
#include "any.hpp"

Go to the source code of this file.

Classes

struct  cyclus::ColumnInfo
 
class  cyclus::Cond
 
class  cyclus::CondInjector
 
class  cyclus::Digest
 
class  cyclus::FullBackend
 
class  cyclus::PrefixInjector
 
class  cyclus::QueryableBackend
 
class  cyclus::QueryResult
 
class  cyclus::Sha1
 

Namespaces

namespace  cyclus
 

Macros

#define CYCLUS_SHA1_NINT   5
 
#define CYCLUS_SHA1_SIZE   20
 
#define CYCLUS_UUID_SIZE   16
 

Typedefs

typedef std::vector< boost::spirit::hold_anycyclus::QueryRow
 

Enumerations

enum  cyclus::CmpOpCode {
  cyclus::LT = 0 , cyclus::GT , cyclus::LE , cyclus::GE ,
  cyclus::EQ , cyclus::NE
}
 
enum  cyclus::DbTypes {
  cyclus::BOOL = 0 , cyclus::INT , cyclus::FLOAT , cyclus::DOUBLE ,
  cyclus::STRING , cyclus::VL_STRING , cyclus::BLOB , cyclus::UUID ,
  cyclus::VECTOR_BOOL , cyclus::VL_VECTOR_BOOL , cyclus::VECTOR_INT , cyclus::VL_VECTOR_INT ,
  cyclus::VECTOR_FLOAT , cyclus::VL_VECTOR_FLOAT , cyclus::VECTOR_DOUBLE , cyclus::VL_VECTOR_DOUBLE ,
  cyclus::VECTOR_STRING , cyclus::VL_VECTOR_STRING , cyclus::VECTOR_VL_STRING , cyclus::VL_VECTOR_VL_STRING ,
  cyclus::VECTOR_BLOB , cyclus::VL_VECTOR_BLOB , cyclus::VECTOR_UUID , cyclus::VL_VECTOR_UUID ,
  cyclus::SET_BOOL , cyclus::VL_SET_BOOL , cyclus::SET_INT , cyclus::VL_SET_INT ,
  cyclus::SET_FLOAT , cyclus::VL_SET_FLOAT , cyclus::SET_DOUBLE , cyclus::VL_SET_DOUBLE ,
  cyclus::SET_STRING , cyclus::VL_SET_STRING , cyclus::SET_VL_STRING , cyclus::VL_SET_VL_STRING ,
  cyclus::SET_BLOB , cyclus::VL_SET_BLOB , cyclus::SET_UUID , cyclus::VL_SET_UUID ,
  cyclus::LIST_BOOL , cyclus::VL_LIST_BOOL , cyclus::LIST_INT , cyclus::VL_LIST_INT ,
  cyclus::LIST_FLOAT , cyclus::VL_LIST_FLOAT , cyclus::LIST_DOUBLE , cyclus::VL_LIST_DOUBLE ,
  cyclus::LIST_STRING , cyclus::VL_LIST_STRING , cyclus::LIST_VL_STRING , cyclus::VL_LIST_VL_STRING ,
  cyclus::LIST_BLOB , cyclus::VL_LIST_BLOB , cyclus::LIST_UUID , cyclus::VL_LIST_UUID ,
  cyclus::PAIR_INT_BOOL , cyclus::PAIR_INT_INT , cyclus::PAIR_INT_FLOAT , cyclus::PAIR_INT_DOUBLE ,
  cyclus::PAIR_INT_STRING , cyclus::PAIR_INT_VL_STRING , cyclus::PAIR_INT_BLOB , cyclus::PAIR_INT_UUID ,
  cyclus::PAIR_STRING_BOOL , cyclus::PAIR_STRING_INT , cyclus::PAIR_STRING_FLOAT , cyclus::PAIR_STRING_DOUBLE ,
  cyclus::PAIR_STRING_STRING , cyclus::PAIR_STRING_VL_STRING , cyclus::PAIR_STRING_BLOB , cyclus::PAIR_STRING_UUID ,
  cyclus::PAIR_VL_STRING_BOOL , cyclus::PAIR_VL_STRING_INT , cyclus::PAIR_VL_STRING_FLOAT , cyclus::PAIR_VL_STRING_DOUBLE ,
  cyclus::PAIR_VL_STRING_STRING , cyclus::PAIR_VL_STRING_VL_STRING , cyclus::PAIR_VL_STRING_BLOB , cyclus::PAIR_VL_STRING_UUID ,
  cyclus::MAP_INT_BOOL , cyclus::VL_MAP_INT_BOOL , cyclus::MAP_INT_INT , cyclus::VL_MAP_INT_INT ,
  cyclus::MAP_INT_FLOAT , cyclus::VL_MAP_INT_FLOAT , cyclus::MAP_INT_DOUBLE , cyclus::VL_MAP_INT_DOUBLE ,
  cyclus::MAP_INT_STRING , cyclus::VL_MAP_INT_STRING , cyclus::MAP_INT_VL_STRING , cyclus::VL_MAP_INT_VL_STRING ,
  cyclus::MAP_INT_BLOB , cyclus::VL_MAP_INT_BLOB , cyclus::MAP_INT_UUID , cyclus::VL_MAP_INT_UUID ,
  cyclus::MAP_STRING_BOOL , cyclus::VL_MAP_STRING_BOOL , cyclus::MAP_STRING_INT , cyclus::VL_MAP_STRING_INT ,
  cyclus::MAP_STRING_FLOAT , cyclus::VL_MAP_STRING_FLOAT , cyclus::MAP_STRING_DOUBLE , cyclus::VL_MAP_STRING_DOUBLE ,
  cyclus::MAP_STRING_STRING , cyclus::VL_MAP_STRING_STRING , cyclus::MAP_STRING_VL_STRING , cyclus::VL_MAP_STRING_VL_STRING ,
  cyclus::MAP_STRING_BLOB , cyclus::VL_MAP_STRING_BLOB , cyclus::MAP_STRING_UUID , cyclus::VL_MAP_STRING_UUID ,
  cyclus::MAP_VL_STRING_BOOL , cyclus::VL_MAP_VL_STRING_BOOL , cyclus::MAP_VL_STRING_INT , cyclus::VL_MAP_VL_STRING_INT ,
  cyclus::MAP_VL_STRING_FLOAT , cyclus::VL_MAP_VL_STRING_FLOAT , cyclus::MAP_VL_STRING_DOUBLE , cyclus::VL_MAP_VL_STRING_DOUBLE ,
  cyclus::MAP_VL_STRING_STRING , cyclus::VL_MAP_VL_STRING_STRING , cyclus::MAP_VL_STRING_VL_STRING , cyclus::VL_MAP_VL_STRING_VL_STRING ,
  cyclus::MAP_VL_STRING_BLOB , cyclus::VL_MAP_VL_STRING_BLOB , cyclus::MAP_VL_STRING_UUID , cyclus::VL_MAP_VL_STRING_UUID ,
  cyclus::MAP_PAIR_INT_STRING_DOUBLE , cyclus::VL_MAP_PAIR_INT_STRING_DOUBLE , cyclus::MAP_PAIR_INT_VL_STRING_DOUBLE , cyclus::VL_MAP_PAIR_INT_VL_STRING_DOUBLE ,
  cyclus::MAP_STRING_VECTOR_DOUBLE , cyclus::MAP_STRING_VL_VECTOR_DOUBLE , cyclus::VL_MAP_STRING_VECTOR_DOUBLE , cyclus::MAP_VL_STRING_VECTOR_DOUBLE ,
  cyclus::MAP_VL_STRING_VL_VECTOR_DOUBLE , cyclus::VL_MAP_STRING_VL_VECTOR_DOUBLE , cyclus::VL_MAP_VL_STRING_VECTOR_DOUBLE , cyclus::VL_MAP_VL_STRING_VL_VECTOR_DOUBLE ,
  cyclus::MAP_STRING_MAP_INT_DOUBLE , cyclus::MAP_STRING_VL_MAP_INT_DOUBLE , cyclus::VL_MAP_STRING_MAP_INT_DOUBLE , cyclus::MAP_VL_STRING_MAP_INT_DOUBLE ,
  cyclus::MAP_VL_STRING_VL_MAP_INT_DOUBLE , cyclus::VL_MAP_STRING_VL_MAP_INT_DOUBLE , cyclus::VL_MAP_VL_STRING_MAP_INT_DOUBLE , cyclus::VL_MAP_VL_STRING_VL_MAP_INT_DOUBLE ,
  cyclus::MAP_STRING_PAIR_DOUBLE_MAP_INT_DOUBLE , cyclus::VL_MAP_STRING_PAIR_DOUBLE_MAP_INT_DOUBLE , cyclus::MAP_VL_STRING_PAIR_DOUBLE_MAP_INT_DOUBLE , cyclus::MAP_STRING_PAIR_DOUBLE_VL_MAP_INT_DOUBLE ,
  cyclus::VL_MAP_VL_STRING_PAIR_DOUBLE_MAP_INT_DOUBLE , cyclus::VL_MAP_STRING_PAIR_DOUBLE_VL_MAP_INT_DOUBLE , cyclus::MAP_VL_STRING_PAIR_DOUBLE_VL_MAP_INT_DOUBLE , cyclus::VL_MAP_VL_STRING_PAIR_DOUBLE_VL_MAP_INT_DOUBLE ,
  cyclus::MAP_INT_MAP_STRING_DOUBLE , cyclus::MAP_INT_MAP_VL_STRING_DOUBLE , cyclus::VL_MAP_INT_MAP_STRING_DOUBLE , cyclus::VL_MAP_INT_MAP_VL_STRING_DOUBLE ,
  cyclus::MAP_INT_VL_MAP_STRING_DOUBLE , cyclus::MAP_INT_VL_MAP_VL_STRING_DOUBLE , cyclus::VL_MAP_INT_VL_MAP_STRING_DOUBLE , cyclus::VL_MAP_INT_VL_MAP_VL_STRING_DOUBLE ,
  cyclus::MAP_STRING_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::MAP_STRING_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::MAP_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::MAP_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::VL_MAP_STRING_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::VL_MAP_STRING_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::VL_MAP_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::VL_MAP_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::VL_MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::VL_MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::VL_MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::VL_MAP_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::VL_MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::VL_MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::VL_MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::VL_MAP_VL_STRING_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::VL_MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_STRING , cyclus::VL_MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::VL_MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::VL_MAP_VL_STRING_VL_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING ,
  cyclus::LIST_PAIR_INT_INT , cyclus::VL_LIST_PAIR_INT_INT , cyclus::MAP_STRING_PAIR_STRING_VECTOR_DOUBLE , cyclus::MAP_STRING_PAIR_STRING_VL_VECTOR_DOUBLE ,
  cyclus::MAP_STRING_PAIR_VL_STRING_VECTOR_DOUBLE , cyclus::MAP_STRING_PAIR_VL_STRING_VL_VECTOR_DOUBLE , cyclus::MAP_VL_STRING_PAIR_STRING_VECTOR_DOUBLE , cyclus::MAP_VL_STRING_PAIR_VL_STRING_VECTOR_DOUBLE ,
  cyclus::MAP_VL_STRING_PAIR_STRING_VL_VECTOR_DOUBLE , cyclus::MAP_VL_STRING_PAIR_VL_STRING_VL_VECTOR_DOUBLE , cyclus::VL_MAP_STRING_PAIR_STRING_VECTOR_DOUBLE , cyclus::VL_MAP_VL_STRING_PAIR_STRING_VECTOR_DOUBLE ,
  cyclus::VL_MAP_STRING_PAIR_VL_STRING_VECTOR_DOUBLE , cyclus::VL_MAP_STRING_PAIR_STRING_VL_VECTOR_DOUBLE , cyclus::VL_MAP_VL_STRING_PAIR_VL_STRING_VECTOR_DOUBLE , cyclus::VL_MAP_VL_STRING_PAIR_STRING_VL_VECTOR_DOUBLE ,
  cyclus::VL_MAP_STRING_PAIR_VL_STRING_VL_VECTOR_DOUBLE , cyclus::VL_MAP_VL_STRING_PAIR_VL_STRING_VL_VECTOR_DOUBLE , cyclus::MAP_STRING_MAP_STRING_INT , cyclus::MAP_STRING_MAP_VL_STRING_INT ,
  cyclus::MAP_STRING_VL_MAP_STRING_INT , cyclus::MAP_STRING_VL_MAP_VL_STRING_INT , cyclus::MAP_VL_STRING_MAP_STRING_INT , cyclus::MAP_VL_STRING_VL_MAP_STRING_INT ,
  cyclus::MAP_VL_STRING_MAP_VL_STRING_INT , cyclus::MAP_VL_STRING_VL_MAP_VL_STRING_INT , cyclus::VL_MAP_STRING_MAP_STRING_INT , cyclus::VL_MAP_VL_STRING_MAP_STRING_INT ,
  cyclus::VL_MAP_STRING_VL_MAP_STRING_INT , cyclus::VL_MAP_STRING_MAP_VL_STRING_INT , cyclus::VL_MAP_STRING_VL_MAP_VL_STRING_INT , cyclus::VL_MAP_VL_STRING_MAP_VL_STRING_INT ,
  cyclus::VL_MAP_VL_STRING_VL_MAP_STRING_INT , cyclus::VL_MAP_VL_STRING_VL_MAP_VL_STRING_INT , cyclus::VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_MAP_STRING_DOUBLE , cyclus::VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_MAP_VL_STRING_DOUBLE ,
  cyclus::VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_VL_MAP_STRING_DOUBLE , cyclus::VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_VL_MAP_VL_STRING_DOUBLE , cyclus::VL_VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_MAP_STRING_DOUBLE , cyclus::VL_VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_MAP_VL_STRING_DOUBLE ,
  cyclus::VL_VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_VL_MAP_STRING_DOUBLE , cyclus::VL_VECTOR_PAIR_PAIR_DOUBLE_DOUBLE_VL_MAP_VL_STRING_DOUBLE , cyclus::PAIR_INT_PAIR_STRING_STRING , cyclus::PAIR_INT_PAIR_VL_STRING_STRING ,
  cyclus::PAIR_INT_PAIR_STRING_VL_STRING , cyclus::PAIR_INT_PAIR_VL_STRING_VL_STRING , cyclus::PAIR_DOUBLE_DOUBLE , cyclus::PAIR_PAIR_DOUBLE_DOUBLE_MAP_STRING_DOUBLE ,
  cyclus::PAIR_PAIR_DOUBLE_DOUBLE_MAP_VL_STRING_DOUBLE , cyclus::PAIR_PAIR_DOUBLE_DOUBLE_VL_MAP_STRING_DOUBLE , cyclus::PAIR_PAIR_DOUBLE_DOUBLE_VL_MAP_VL_STRING_DOUBLE , cyclus::MATERIAL ,
  cyclus::PRODUCT , cyclus::RES_BUF_MATERIAL , cyclus::RES_BUF_PRODUCT , cyclus::RES_MAP_INT_MATERIAL ,
  cyclus::RES_MAP_INT_PRODUCT , cyclus::RES_MAP_STRING_MATERIAL , cyclus::RES_MAP_STRING_PRODUCT , cyclus::RES_MAP_VL_STRING_MATERIAL ,
  cyclus::RES_MAP_VL_STRING_PRODUCT , cyclus::PAIR_DOUBLE_MAP_INT_DOUBLE , cyclus::PAIR_DOUBLE_VL_MAP_INT_DOUBLE , cyclus::VECTOR_PAIR_INT_PAIR_STRING_STRING ,
  cyclus::VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING , cyclus::VL_VECTOR_PAIR_INT_PAIR_STRING_STRING ,
  cyclus::VL_VECTOR_PAIR_INT_PAIR_VL_STRING_STRING , cyclus::VL_VECTOR_PAIR_INT_PAIR_STRING_VL_STRING , cyclus::VL_VECTOR_PAIR_INT_PAIR_VL_STRING_VL_STRING , cyclus::PAIR_STRING_VECTOR_DOUBLE ,
  cyclus::PAIR_VL_STRING_VECTOR_DOUBLE , cyclus::PAIR_STRING_VL_VECTOR_DOUBLE , cyclus::PAIR_VL_STRING_VL_VECTOR_DOUBLE , cyclus::MAP_PAIR_STRING_STRING_INT ,
  cyclus::MAP_PAIR_STRING_VL_STRING_INT , cyclus::MAP_PAIR_VL_STRING_STRING_INT , cyclus::MAP_PAIR_VL_STRING_VL_STRING_INT , cyclus::VL_MAP_PAIR_STRING_STRING_INT ,
  cyclus::VL_MAP_PAIR_STRING_VL_STRING_INT , cyclus::VL_MAP_PAIR_VL_STRING_STRING_INT , cyclus::VL_MAP_PAIR_VL_STRING_VL_STRING_INT , cyclus::MAP_STRING_MAP_STRING_DOUBLE ,
  cyclus::MAP_STRING_MAP_VL_STRING_DOUBLE , cyclus::MAP_STRING_VL_MAP_STRING_DOUBLE , cyclus::MAP_STRING_VL_MAP_VL_STRING_DOUBLE , cyclus::MAP_VL_STRING_MAP_STRING_DOUBLE ,
  cyclus::MAP_VL_STRING_VL_MAP_STRING_DOUBLE , cyclus::MAP_VL_STRING_MAP_VL_STRING_DOUBLE , cyclus::MAP_VL_STRING_VL_MAP_VL_STRING_DOUBLE , cyclus::VL_MAP_STRING_MAP_STRING_DOUBLE ,
  cyclus::VL_MAP_VL_STRING_MAP_STRING_DOUBLE , cyclus::VL_MAP_STRING_VL_MAP_STRING_DOUBLE , cyclus::VL_MAP_STRING_MAP_VL_STRING_DOUBLE , cyclus::VL_MAP_STRING_VL_MAP_VL_STRING_DOUBLE ,
  cyclus::VL_MAP_VL_STRING_MAP_VL_STRING_DOUBLE , cyclus::VL_MAP_VL_STRING_VL_MAP_STRING_DOUBLE , cyclus::VL_MAP_VL_STRING_VL_MAP_VL_STRING_DOUBLE
}
 

Functions

template<typename T >
bool cyclus::CmpCond (T *x, Cond *cond)
 
template<typename T >
bool cyclus::CmpConds (T *x, std::vector< Cond * > *conds)
 

Macro Definition Documentation

◆ CYCLUS_SHA1_NINT

#define CYCLUS_SHA1_NINT   5

Definition at line 22 of file query_backend.h.

◆ CYCLUS_SHA1_SIZE

#define CYCLUS_SHA1_SIZE   20

Definition at line 21 of file query_backend.h.

◆ CYCLUS_UUID_SIZE

#define CYCLUS_UUID_SIZE   16

Definition at line 20 of file query_backend.h.