diff options
Diffstat (limited to 'odb/oracle/connection.hxx')
-rw-r--r-- | odb/oracle/connection.hxx | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/odb/oracle/connection.hxx b/odb/oracle/connection.hxx deleted file mode 100644 index 4192728..0000000 --- a/odb/oracle/connection.hxx +++ /dev/null @@ -1,189 +0,0 @@ -// file : odb/oracle/connection.hxx -// license : ODB NCUEL; see accompanying LICENSE file - -#ifndef ODB_ORACLE_CONNECTION_HXX -#define ODB_ORACLE_CONNECTION_HXX - -#include <odb/pre.hxx> - -#include <odb/connection.hxx> - -#include <odb/details/buffer.hxx> -#include <odb/details/shared-ptr.hxx> -#include <odb/details/unique-ptr.hxx> - -#include <odb/oracle/version.hxx> -#include <odb/oracle/forward.hxx> -#include <odb/oracle/query.hxx> -#include <odb/oracle/tracer.hxx> -#include <odb/oracle/transaction-impl.hxx> -#include <odb/oracle/auto-handle.hxx> -#include <odb/oracle/oracle-fwd.hxx> - -#include <odb/oracle/details/export.hxx> - -namespace odb -{ - namespace oracle - { - class statement_cache; - class connection_factory; - - class connection; - typedef details::shared_ptr<connection> connection_ptr; - - class LIBODB_ORACLE_EXPORT connection: public odb::connection - { - public: - typedef oracle::statement_cache statement_cache_type; - typedef oracle::database database_type; - - virtual - ~connection (); - - connection (connection_factory&); - connection (connection_factory&, OCISvcCtx* handle); - - database_type& - database (); - - public: - virtual transaction_impl* - begin (); - - public: - using odb::connection::execute; - - virtual unsigned long long - execute (const char* statement, std::size_t length); - - // Query preparation. - // - public: - 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 oracle::query_base&); - - template <typename T> - prepared_query<T> - prepare_query (const char* name, const odb::query_base&); - - // SQL statement tracing. - // - public: - typedef oracle::tracer tracer_type; - - void - tracer (tracer_type& t) - { - odb::connection::tracer (t); - } - - void - tracer (tracer_type* t) - { - odb::connection::tracer (t); - } - - using odb::connection::tracer; - - public: - bool - failed () const - { - return failed_; - } - - void - mark_failed () - { - failed_ = true; - } - - public: - OCISvcCtx* - handle () - { - return handle_; - } - - OCIError* - error_handle () - { - return error_; - } - - statement_cache_type& - statement_cache () - { - return *statement_cache_; - } - - details::buffer& - lob_buffer () - { - return lob_buffer_; - } - - private: - connection (const connection&); - connection& operator= (const connection&); - - private: - friend class transaction_impl; // invalidate_results() - - private: - // It is important that the error_ member is declared before the - // handle_ member as handle_ depends on error_ during destruction. - // - auto_handle<OCIError> error_; - - auto_handle<OCISvcCtx> handle_; - bool failed_; - - details::unique_ptr<statement_cache_type> statement_cache_; - details::buffer lob_buffer_; - }; - - class LIBODB_ORACLE_EXPORT connection_factory: - public odb::connection_factory - { - public: - typedef oracle::database database_type; - - virtual void - database (database_type&); - - database_type& - database () {return *db_;} - - virtual connection_ptr - connect () = 0; - - virtual - ~connection_factory (); - - connection_factory (): db_ (0) {} - - // Needed to break the circular connection_factory-database dependency - // (odb::connection_factory has the odb::database member). - // - protected: - database_type* db_; - }; - } -} - -#include <odb/oracle/connection.ixx> - -#include <odb/post.hxx> - -#endif // ODB_ORACLE_CONNECTION_HXX |