Common ODB Runtime Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
odb::database Class Referenceabstract

Classes

struct  query_
 
struct  schema_version_info
 

Public Types

typedef odb::connection connection_type
 
typedef void(* query_factory_type )(const char *, connection_type &)
 
typedef odb::tracer tracer_type
 
typedef odb::schema_version schema_version_type
 
typedef
odb::schema_version_migration 
schema_version_migration_type
 

Public Member Functions

virtual ~database ()
 
template<typename T >
object_traits< T >::id_type persist (T &object)
 
template<typename T >
object_traits< T >::id_type persist (T *obj_ptr)
 
template<typename T , template< typename > class P>
object_traits< T >::id_type persist (const P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
object_traits< T >::id_type persist (const P< T, A1 > &obj_ptr)
 
template<typename T , template< typename > class P>
object_traits< T >::id_type persist (P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
object_traits< T >::id_type persist (P< T, A1 > &obj_ptr)
 
template<typename T >
object_traits< T >::id_type persist (const typename object_traits< T >::pointer_type &obj_ptr)
 
template<typename T >
object_traits< T >::pointer_type load (const typename object_traits< T >::id_type &id)
 
template<typename T >
void load (const typename object_traits< T >::id_type &id, T &object)
 
template<typename T >
void load (T &object, section &)
 
template<typename T >
void reload (T &object)
 
template<typename T >
void reload (T *obj_ptr)
 
template<typename T , template< typename > class P>
void reload (const P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
void reload (const P< T, A1 > &obj_ptr)
 
template<typename T , template< typename > class P>
void reload (P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
void reload (P< T, A1 > &obj_ptr)
 
template<typename T >
void reload (const typename object_traits< T >::pointer_type &obj_ptr)
 
template<typename T >
object_traits< T >::pointer_type find (const typename object_traits< T >::id_type &id)
 
template<typename T >
bool find (const typename object_traits< T >::id_type &id, T &object)
 
template<typename T >
void update (T &object)
 
template<typename T >
void update (T *obj_ptr)
 
template<typename T , template< typename > class P>
void update (const P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
void update (const P< T, A1 > &obj_ptr)
 
template<typename T , template< typename > class P>
void update (P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
void update (P< T, A1 > &obj_ptr)
 
template<typename T >
void update (const typename object_traits< T >::pointer_type &obj_ptr)
 
template<typename T >
void update (const T &object, const section &)
 
template<typename T >
void erase (const typename object_traits< T >::id_type &id)
 
template<typename T >
void erase (T &object)
 
template<typename T >
void erase (T *obj_ptr)
 
template<typename T , template< typename > class P>
void erase (const P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
void erase (const P< T, A1 > &obj_ptr)
 
template<typename T , template< typename > class P>
void erase (P< T > &obj_ptr)
 
template<typename T , typename A1 , template< typename, typename > class P>
void erase (P< T, A1 > &obj_ptr)
 
template<typename T >
void erase (const typename object_traits< T >::pointer_type &obj_ptr)
 
template<typename T >
unsigned long long erase_query ()
 
template<typename T >
unsigned long long erase_query (const char *)
 
template<typename T >
unsigned long long erase_query (const std::string &)
 
template<typename T >
unsigned long long erase_query (const odb::query< T > &)
 
template<typename T >
result< T > query (bool cache=true)
 
template<typename T >
result< T > query (const char *, bool cache=true)
 
template<typename T >
result< T > query (const std::string &, bool cache=true)
 
template<typename T >
result< T > query (const odb::query< T > &, bool cache=true)
 
template<typename T >
prepared_query< T > prepare_query (const char *name, const char *)
 
template<typename T >
prepared_query< T > prepare_query (const char *name, const std::string &)
 
template<typename T >
prepared_query< T > prepare_query (const char *name, const odb::query< T > &)
 
template<typename T >
void cache_query (const prepared_query< T > &)
 
template<typename T , typename P >
void cache_query (const prepared_query< T > &, std::auto_ptr< P > params)
 
template<typename T >
prepared_query< T > lookup_query (const char *name) const
 
template<typename T , typename P >
prepared_query< T > lookup_query (const char *name, P *&params) const
 
void query_factory (const char *name, query_factory_type)
 
query_factory_type lookup_query_factory (const char *name) const
 
unsigned long long execute (const char *statement)
 
unsigned long long execute (const std::string &statement)
 
unsigned long long execute (const char *statement, std::size_t length)
 
virtual transaction_implbegin ()=0
 
connection_ptr connection ()
 
void tracer (tracer_type &)
 
void tracer (tracer_type *)
 
tracer_typetracer () const
 
schema_version_type schema_version (const std::string &schema_name="") const
 
bool schema_migration (const std::string &schema_name="") const
 
const
schema_version_migration_type
schema_version_migration (const std::string &schema_name="") const
 
void schema_version_migration (schema_version_type, bool migration, const std::string &schema_name="")
 
void schema_version_migration (const schema_version_migration_type &, const std::string &schema_name="")
 
void schema_version_table (const std::string &table_name)
 
void schema_version_table (const std::string &table_name, const std::string &schema_name)
 
unsigned int schema_version_sequence () const
 
database_id id () const
 

Protected Types

typedef std::map< const char
*, query_factory_type,
details::c_string_comparator > 
query_factory_map
 
typedef std::map< std::string,
schema_version_info
schema_version_map
 

Protected Member Functions

virtual const schema_version_infoload_schema_version (const std::string &schema_name) const =0
 
 database (database_id)
 
virtual connection_typeconnection_ ()=0
 
template<typename T , database_id DB>
object_traits< T >::id_type persist_ (T &)
 
template<typename T , database_id DB>
object_traits< T >::id_type persist_ (const typename object_traits< T >::pointer_type &)
 
template<typename T , database_id DB>
object_traits< T >::pointer_type load_ (const typename object_traits< T >::id_type &)
 
template<typename T , database_id DB>
void load_ (const typename object_traits< T >::id_type &, T &)
 
template<typename T , database_id DB>
void load_ (T &, section &)
 
template<typename T , database_id DB>
void reload_ (T &)
 
template<typename T , database_id DB>
object_traits< T >::pointer_type find_ (const typename object_traits< T >::id_type &)
 
template<typename T , database_id DB>
bool find_ (const typename object_traits< T >::id_type &, T &)
 
template<typename T , database_id DB>
void update_ (T &)
 
template<typename T , database_id DB>
void update_ (const typename object_traits< T >::pointer_type &)
 
template<typename T , database_id DB>
void update_ (const T &, const section &)
 
template<typename T , database_id DB>
void erase_ (const typename object_traits< T >::id_type &)
 
template<typename T , database_id DB>
void erase_ (T &)
 
template<typename T , database_id DB>
void erase_ (const typename object_traits< T >::pointer_type &)
 

Protected Attributes

database_id id_
 
tracer_typetracer_
 
query_factory_map query_factory_map_
 
details::mutex mutex_
 
schema_version_map schema_version_map_
 
std::string schema_version_table_
 
unsigned int schema_version_seq_
 

Member Typedef Documentation

typedef void(* odb::database::query_factory_type)(const char *, connection_type &)
typedef std::map<const char*, query_factory_type, details::c_string_comparator> odb::database::query_factory_map
protected
typedef std::map<std::string, schema_version_info> odb::database::schema_version_map
protected

Constructor & Destructor Documentation

virtual odb::database::~database ( )
virtual
odb::database::database ( database_id  )
protected

Member Function Documentation

template<typename T >
object_traits<T>::id_type odb::database::persist ( T &  object)
template<typename T >
object_traits<T>::id_type odb::database::persist ( T *  obj_ptr)
template<typename T , template< typename > class P>
object_traits<T>::id_type odb::database::persist ( const P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
object_traits<T>::id_type odb::database::persist ( const P< T, A1 > &  obj_ptr)
template<typename T , template< typename > class P>
object_traits<T>::id_type odb::database::persist ( P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
object_traits<T>::id_type odb::database::persist ( P< T, A1 > &  obj_ptr)
template<typename T >
object_traits<T>::id_type odb::database::persist ( const typename object_traits< T >::pointer_type &  obj_ptr)
template<typename T >
object_traits<T>::pointer_type odb::database::load ( const typename object_traits< T >::id_type &  id)
template<typename T >
void odb::database::load ( const typename object_traits< T >::id_type &  id,
T &  object 
)
template<typename T >
void odb::database::load ( T &  object,
section  
)
template<typename T >
void odb::database::reload ( T &  object)
template<typename T >
void odb::database::reload ( T *  obj_ptr)
template<typename T , template< typename > class P>
void odb::database::reload ( const P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
void odb::database::reload ( const P< T, A1 > &  obj_ptr)
template<typename T , template< typename > class P>
void odb::database::reload ( P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
void odb::database::reload ( P< T, A1 > &  obj_ptr)
template<typename T >
void odb::database::reload ( const typename object_traits< T >::pointer_type &  obj_ptr)
template<typename T >
object_traits<T>::pointer_type odb::database::find ( const typename object_traits< T >::id_type &  id)
template<typename T >
bool odb::database::find ( const typename object_traits< T >::id_type &  id,
T &  object 
)
template<typename T >
void odb::database::update ( T &  object)
template<typename T >
void odb::database::update ( T *  obj_ptr)
template<typename T , template< typename > class P>
void odb::database::update ( const P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
void odb::database::update ( const P< T, A1 > &  obj_ptr)
template<typename T , template< typename > class P>
void odb::database::update ( P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
void odb::database::update ( P< T, A1 > &  obj_ptr)
template<typename T >
void odb::database::update ( const typename object_traits< T >::pointer_type &  obj_ptr)
template<typename T >
void odb::database::update ( const T &  object,
const section  
)
template<typename T >
void odb::database::erase ( const typename object_traits< T >::id_type &  id)
template<typename T >
void odb::database::erase ( T &  object)
template<typename T >
void odb::database::erase ( T *  obj_ptr)
template<typename T , template< typename > class P>
void odb::database::erase ( const P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
void odb::database::erase ( const P< T, A1 > &  obj_ptr)
template<typename T , template< typename > class P>
void odb::database::erase ( P< T > &  obj_ptr)
template<typename T , typename A1 , template< typename, typename > class P>
void odb::database::erase ( P< T, A1 > &  obj_ptr)
template<typename T >
void odb::database::erase ( const typename object_traits< T >::pointer_type &  obj_ptr)
template<typename T >
unsigned long long odb::database::erase_query ( )
template<typename T >
unsigned long long odb::database::erase_query ( const char *  )
template<typename T >
unsigned long long odb::database::erase_query ( const std::string &  )
template<typename T >
unsigned long long odb::database::erase_query ( const odb::query< T > &  )
template<typename T >
result<T> odb::database::query ( bool  cache = true)
template<typename T >
result<T> odb::database::query ( const char *  ,
bool  cache = true 
)
template<typename T >
result<T> odb::database::query ( const std::string &  ,
bool  cache = true 
)
template<typename T >
result<T> odb::database::query ( const odb::query< T > &  ,
bool  cache = true 
)
template<typename T >
prepared_query<T> odb::database::prepare_query ( const char *  name,
const char *   
)
template<typename T >
prepared_query<T> odb::database::prepare_query ( const char *  name,
const std::string &   
)
template<typename T >
prepared_query<T> odb::database::prepare_query ( const char *  name,
const odb::query< T > &   
)
template<typename T >
void odb::database::cache_query ( const prepared_query< T > &  )
template<typename T , typename P >
void odb::database::cache_query ( const prepared_query< T > &  ,
std::auto_ptr< P >  params 
)
template<typename T >
prepared_query<T> odb::database::lookup_query ( const char *  name) const
template<typename T , typename P >
prepared_query<T> odb::database::lookup_query ( const char *  name,
P *&  params 
) const
void odb::database::query_factory ( const char *  name,
query_factory_type   
)
query_factory_type odb::database::lookup_query_factory ( const char *  name) const
unsigned long long odb::database::execute ( const char *  statement)
unsigned long long odb::database::execute ( const std::string &  statement)
unsigned long long odb::database::execute ( const char *  statement,
std::size_t  length 
)
virtual transaction_impl* odb::database::begin ( )
pure virtual
connection_ptr odb::database::connection ( )
void odb::database::tracer ( tracer_type )
void odb::database::tracer ( tracer_type )
tracer_type* odb::database::tracer ( ) const
schema_version_type odb::database::schema_version ( const std::string &  schema_name = "") const
bool odb::database::schema_migration ( const std::string &  schema_name = "") const
const schema_version_migration_type& odb::database::schema_version_migration ( const std::string &  schema_name = "") const
void odb::database::schema_version_migration ( schema_version_type  ,
bool  migration,
const std::string &  schema_name = "" 
)
void odb::database::schema_version_migration ( const schema_version_migration_type ,
const std::string &  schema_name = "" 
)
void odb::database::schema_version_table ( const std::string &  table_name)
void odb::database::schema_version_table ( const std::string &  table_name,
const std::string &  schema_name 
)
unsigned int odb::database::schema_version_sequence ( ) const
virtual const schema_version_info& odb::database::load_schema_version ( const std::string &  schema_name) const
protectedpure virtual
database_id odb::database::id ( ) const
virtual connection_type* odb::database::connection_ ( )
protectedpure virtual
template<typename T , database_id DB>
object_traits<T>::id_type odb::database::persist_ ( T &  )
protected
template<typename T , database_id DB>
object_traits<T>::id_type odb::database::persist_ ( const typename object_traits< T >::pointer_type &  )
protected
template<typename T , database_id DB>
object_traits<T>::pointer_type odb::database::load_ ( const typename object_traits< T >::id_type &  )
protected
template<typename T , database_id DB>
void odb::database::load_ ( const typename object_traits< T >::id_type &  ,
T &   
)
protected
template<typename T , database_id DB>
void odb::database::load_ ( T &  ,
section  
)
protected
template<typename T , database_id DB>
void odb::database::reload_ ( T &  )
protected
template<typename T , database_id DB>
object_traits<T>::pointer_type odb::database::find_ ( const typename object_traits< T >::id_type &  )
protected
template<typename T , database_id DB>
bool odb::database::find_ ( const typename object_traits< T >::id_type &  ,
T &   
)
protected
template<typename T , database_id DB>
void odb::database::update_ ( T &  )
protected
template<typename T , database_id DB>
void odb::database::update_ ( const typename object_traits< T >::pointer_type &  )
protected
template<typename T , database_id DB>
void odb::database::update_ ( const T &  ,
const section  
)
protected
template<typename T , database_id DB>
void odb::database::erase_ ( const typename object_traits< T >::id_type &  )
protected
template<typename T , database_id DB>
void odb::database::erase_ ( T &  )
protected
template<typename T , database_id DB>
void odb::database::erase_ ( const typename object_traits< T >::pointer_type &  )
protected

Member Data Documentation

database_id odb::database::id_
protected
tracer_type* odb::database::tracer_
protected
query_factory_map odb::database::query_factory_map_
protected
details::mutex odb::database::mutex_
mutableprotected
schema_version_map odb::database::schema_version_map_
mutableprotected
std::string odb::database::schema_version_table_
protected
unsigned int odb::database::schema_version_seq_
protected

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