5 #ifndef ODB_CONNECTION_HXX
6 #define ODB_CONNECTION_HXX
21 #include <odb/details/config.hxx>
22 #include <odb/details/export.hxx>
23 #include <odb/details/c-string.hxx>
24 #include <odb/details/shared-ptr.hxx>
28 class transaction_impl;
33 class LIBODB_EXPORT
connection:
public details::shared_base
58 virtual unsigned long long
59 execute (
const char*
statement, std::size_t length) = 0;
66 prepare_query (
const char* name,
const char*);
70 prepare_query (
const char* name,
const std::string&);
74 prepare_query (
const char* name,
const query<T>&);
80 template <
typename T,
typename P>
85 template <
typename T,
typename P>
92 lookup_query (
const char* name)
const;
94 template <
typename T,
typename P>
96 lookup_query (
const char* name, P*& params)
const;
120 transaction_tracer ()
const;
135 template <
typename T,
142 const std::type_info& ti,
144 const std::type_info* params_info,
145 void (*params_deleter) (
void*));
148 lookup_query_ (
const char* name,
149 const std::type_info& ti,
151 const std::type_info* params_info)
const;
153 template <
typename P>
155 params_deleter (
void*);
170 void (*params_deleter) (
void*);
174 std::map<const char*, prepared_entry_type, details::c_string_comparator>
180 clear_prepared_map ();
193 invalidate_results ();
208 #include <odb/connection.ixx>
209 #include <odb/connection.txx>
213 #endif // ODB_CONNECTION_HXX
std::map< const char *, prepared_entry_type, details::c_string_comparator > prepared_map_type
Definition: connection.hxx:175
Definition: statement.hxx:20
Definition: prepared-query.hxx:20
Definition: transaction.hxx:22
odb::tracer tracer_type
Definition: connection.hxx:101
details::shared_ptr< connection > connection_ptr
Definition: connection.hxx:30
Definition: connection.hxx:164
void * params
Definition: connection.hxx:168
database_type & database_
Definition: connection.hxx:183
class_kind
Definition: traits.hxx:77
Definition: query.hxx:110
prepared_map_type prepared_map_
Definition: connection.hxx:177
Definition: result.hxx:20
Definition: prepared-query.hxx:55
details::shared_ptr< prepared_query_impl > prep_query
Definition: connection.hxx:166
Definition: transaction.hxx:216
const std::type_info * type_info
Definition: connection.hxx:167
const std::type_info * params_info
Definition: connection.hxx:169
Definition: database.hxx:38
Definition: connection.hxx:33
Definition: connection.hxx:138
Definition: tracer.hxx:15
prepared_query_impl * prepared_queries_
Definition: connection.hxx:200
odb::database database_type
Definition: connection.hxx:36
database_id
Definition: forward.hxx:74
tracer_type * tracer_
Definition: connection.hxx:184
result_impl * results_
Definition: connection.hxx:190
tracer_type * transaction_tracer_
Definition: connection.hxx:204
Definition: traits.hxx:85