Oracle ODB Runtime Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
odb::oracle::object_statements< T > Class Template Reference
Inheritance diagram for odb::oracle::object_statements< T >:
odb::oracle::object_statements_base odb::oracle::statements_base odb::oracle::polymorphic_root_object_statements< T >

Classes

struct  auto_lock
 
struct  delayed_load
 
struct  swap_guard
 

Public Types

typedef T object_type
 
typedef object_traits_impl
< object_type, id_oracle
object_traits
 
typedef object_traits::id_type id_type
 
typedef object_traits::pointer_type pointer_type
 
typedef object_traits::image_type image_type
 
typedef
object_traits::id_image_type 
id_image_type
 
typedef
object_traits::pointer_cache_traits 
pointer_cache_traits
 
typedef
object_traits::extra_statement_cache_type 
extra_statement_cache_type
 
typedef oracle::insert_statement insert_statement_type
 
typedef oracle::select_statement select_statement_type
 
typedef oracle::update_statement update_statement_type
 
typedef oracle::delete_statement delete_statement_type
 
typedef void(* loader_function )(odb::database &, const id_type &, object_type &, const schema_version_migration *)
 
- Public Types inherited from odb::oracle::statements_base
typedef oracle::connection connection_type
 

Public Member Functions

 object_statements (connection_type &)
 
virtual ~object_statements ()
 
void delay_load (const id_type &id, object_type &obj, const typename pointer_cache_traits::position_type &p, loader_function l=0)
 
void load_delayed (const schema_version_migration *svm)
 
void clear_delayed ()
 
image_typeimage ()
 
std::size_t insert_image_version () const
 
void insert_image_version (std::size_t v)
 
bindinginsert_image_binding ()
 
std::size_t update_image_version () const
 
void update_image_version (std::size_t v)
 
std::size_t update_id_image_version () const
 
void update_id_image_version (std::size_t v)
 
bindingupdate_image_binding ()
 
std::size_t select_image_version () const
 
void select_image_version (std::size_t v)
 
bindingselect_image_binding ()
 
id_image_typeid_image ()
 
std::size_t id_image_version () const
 
void id_image_version (std::size_t v)
 
bindingid_image_binding ()
 
bindingoptimistic_id_image_binding ()
 
insert_statement_typepersist_statement ()
 
select_statement_typefind_statement ()
 
update_statement_typeupdate_statement ()
 
delete_statement_typeerase_statement ()
 
delete_statement_typeoptimistic_erase_statement ()
 
extra_statement_cache_typeextra_statement_cache ()
 
- Public Member Functions inherited from odb::oracle::object_statements_base
void lock ()
 
void unlock ()
 
bool locked () const
 
virtual ~object_statements_base ()
 
- Public Member Functions inherited from odb::oracle::statements_base
connection_typeconnection ()
 
const schema_version_migrationversion_migration (const char *name="") const
 
virtual ~statements_base ()
 

Static Public Attributes

static const std::size_t id_column_count
 
static const std::size_t managed_optimistic_column_count
 
static const std::size_t select_column_count
 
static const std::size_t insert_column_count
 
static const std::size_t update_column_count
 

Protected Types

typedef std::vector< delayed_loaddelayed_loads
 

Protected Member Functions

template<typename STS >
void load_delayed_ (const schema_version_migration *)
 
void clear_delayed_ ()
 
- Protected Member Functions inherited from odb::oracle::object_statements_base
 object_statements_base (connection_type &conn)
 
- Protected Member Functions inherited from odb::oracle::statements_base
 statements_base (connection_type &conn)
 

Protected Attributes

extra_statement_cache_ptr
< extra_statement_cache_type,
image_type
extra_statement_cache_
 
image_type image_
 
std::size_t select_image_version_
 
binding select_image_binding_
 
bind select_image_bind_ [select_column_count]
 
std::size_t insert_image_version_
 
binding insert_image_binding_
 
bind insert_image_bind_ [insert_column_count!=0?insert_column_count:1]
 
std::size_t update_image_version_
 
std::size_t update_id_image_version_
 
binding update_image_binding_
 
bind update_image_bind_ [update_column_count+id_column_count+managed_optimistic_column_count]
 
id_image_type id_image_
 
std::size_t id_image_version_
 
binding id_image_binding_
 
optimistic_data< T,
managed_optimistic_column_count!=0 > 
od_
 
details::shared_ptr
< insert_statement_type
persist_
 
details::shared_ptr
< select_statement_type
find_
 
details::shared_ptr
< update_statement_type
update_
 
details::shared_ptr
< delete_statement_type
erase_
 
delayed_loads delayed_
 
- Protected Attributes inherited from odb::oracle::object_statements_base
bool locked_
 
- Protected Attributes inherited from odb::oracle::statements_base
connection_typeconn_
 
const schema_version_migrationsvm_
 

Friends

template<typename T1 >
class polymorphic_derived_object_statements
 

Member Typedef Documentation

template<typename T>
typedef T odb::oracle::object_statements< T >::object_type
template<typename T>
typedef object_traits::id_type odb::oracle::object_statements< T >::id_type
template<typename T>
typedef object_traits::image_type odb::oracle::object_statements< T >::image_type
template<typename T>
typedef object_traits::id_image_type odb::oracle::object_statements< T >::id_image_type
template<typename T>
typedef object_traits::pointer_cache_traits odb::oracle::object_statements< T >::pointer_cache_traits
template<typename T>
typedef object_traits::extra_statement_cache_type odb::oracle::object_statements< T >::extra_statement_cache_type
template<typename T>
typedef void(* odb::oracle::object_statements< T >::loader_function)(odb::database &, const id_type &, object_type &, const schema_version_migration *)
template<typename T>
typedef std::vector<delayed_load> odb::oracle::object_statements< T >::delayed_loads
protected

Constructor & Destructor Documentation

template<typename T>
virtual odb::oracle::object_statements< T >::~object_statements ( )
virtual

Member Function Documentation

template<typename T>
void odb::oracle::object_statements< T >::delay_load ( const id_type id,
object_type obj,
const typename pointer_cache_traits::position_type p,
loader_function  l = 0 
)
inline
template<typename T>
void odb::oracle::object_statements< T >::load_delayed ( const schema_version_migration svm)
inline
template<typename T>
void odb::oracle::object_statements< T >::clear_delayed ( )
inline
template<typename T>
image_type& odb::oracle::object_statements< T >::image ( )
inline
template<typename T>
std::size_t odb::oracle::object_statements< T >::insert_image_version ( ) const
inline
template<typename T>
void odb::oracle::object_statements< T >::insert_image_version ( std::size_t  v)
inline
template<typename T>
binding& odb::oracle::object_statements< T >::insert_image_binding ( )
inline
template<typename T>
std::size_t odb::oracle::object_statements< T >::update_image_version ( ) const
inline
template<typename T>
void odb::oracle::object_statements< T >::update_image_version ( std::size_t  v)
inline
template<typename T>
std::size_t odb::oracle::object_statements< T >::update_id_image_version ( ) const
inline
template<typename T>
void odb::oracle::object_statements< T >::update_id_image_version ( std::size_t  v)
inline
template<typename T>
binding& odb::oracle::object_statements< T >::update_image_binding ( )
inline
template<typename T>
std::size_t odb::oracle::object_statements< T >::select_image_version ( ) const
inline
template<typename T>
void odb::oracle::object_statements< T >::select_image_version ( std::size_t  v)
inline
template<typename T>
binding& odb::oracle::object_statements< T >::select_image_binding ( )
inline
template<typename T>
id_image_type& odb::oracle::object_statements< T >::id_image ( )
inline
template<typename T>
std::size_t odb::oracle::object_statements< T >::id_image_version ( ) const
inline
template<typename T>
void odb::oracle::object_statements< T >::id_image_version ( std::size_t  v)
inline
template<typename T>
binding& odb::oracle::object_statements< T >::id_image_binding ( )
inline
template<typename T>
binding& odb::oracle::object_statements< T >::optimistic_id_image_binding ( )
inline
template<typename T>
insert_statement_type& odb::oracle::object_statements< T >::persist_statement ( )
inline
template<typename T>
select_statement_type& odb::oracle::object_statements< T >::find_statement ( )
inline
template<typename T>
delete_statement_type& odb::oracle::object_statements< T >::erase_statement ( )
inline
template<typename T>
delete_statement_type& odb::oracle::object_statements< T >::optimistic_erase_statement ( )
inline
template<typename T>
extra_statement_cache_type& odb::oracle::object_statements< T >::extra_statement_cache ( )
inline
template<typename T>
template<typename STS >
void odb::oracle::object_statements< T >::load_delayed_ ( const schema_version_migration )
protected
template<typename T>
void odb::oracle::object_statements< T >::clear_delayed_ ( )
protected

Friends And Related Function Documentation

template<typename T>
template<typename T1 >
friend class polymorphic_derived_object_statements
friend

Member Data Documentation

template<typename T>
const std::size_t odb::oracle::object_statements< T >::id_column_count
static
Initial value:
=
object_traits::id_column_count
template<typename T>
const std::size_t odb::oracle::object_statements< T >::managed_optimistic_column_count
static
Initial value:
=
object_traits::managed_optimistic_column_count
template<typename T>
const std::size_t odb::oracle::object_statements< T >::select_column_count
static
Initial value:
=
object_traits::column_count -
object_traits::separate_load_column_count
template<typename T>
const std::size_t odb::oracle::object_statements< T >::insert_column_count
static
Initial value:
=
object_traits::column_count -
object_traits::inverse_column_count -
object_traits::managed_optimistic_column_count -
(object_traits::auto_id ? id_column_count : 0)
template<typename T>
const std::size_t odb::oracle::object_statements< T >::update_column_count
static
Initial value:
=
(object_traits::auto_id ? 0 : id_column_count) -
object_traits::readonly_column_count -
object_traits::separate_update_column_count
template<typename T>
extra_statement_cache_ptr<extra_statement_cache_type, image_type> odb::oracle::object_statements< T >::extra_statement_cache_
protected
template<typename T>
image_type odb::oracle::object_statements< T >::image_
protected
template<typename T>
std::size_t odb::oracle::object_statements< T >::select_image_version_
protected
template<typename T>
binding odb::oracle::object_statements< T >::select_image_binding_
protected
template<typename T>
bind odb::oracle::object_statements< T >::select_image_bind_[select_column_count]
protected
template<typename T>
std::size_t odb::oracle::object_statements< T >::insert_image_version_
protected
template<typename T>
binding odb::oracle::object_statements< T >::insert_image_binding_
protected
template<typename T>
bind odb::oracle::object_statements< T >::insert_image_bind_[insert_column_count!=0?insert_column_count:1]
protected
template<typename T>
std::size_t odb::oracle::object_statements< T >::update_image_version_
protected
template<typename T>
std::size_t odb::oracle::object_statements< T >::update_id_image_version_
protected
template<typename T>
binding odb::oracle::object_statements< T >::update_image_binding_
protected
template<typename T>
id_image_type odb::oracle::object_statements< T >::id_image_
protected
template<typename T>
std::size_t odb::oracle::object_statements< T >::id_image_version_
protected
template<typename T>
binding odb::oracle::object_statements< T >::id_image_binding_
protected
template<typename T>
optimistic_data<T, managed_optimistic_column_count != 0> odb::oracle::object_statements< T >::od_
protected
template<typename T>
details::shared_ptr<insert_statement_type> odb::oracle::object_statements< T >::persist_
protected
template<typename T>
details::shared_ptr<select_statement_type> odb::oracle::object_statements< T >::find_
protected
template<typename T>
details::shared_ptr<update_statement_type> odb::oracle::object_statements< T >::update_
protected
template<typename T>
details::shared_ptr<delete_statement_type> odb::oracle::object_statements< T >::erase_
protected
template<typename T>
delayed_loads odb::oracle::object_statements< T >::delayed_
protected

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