aboutsummaryrefslogtreecommitdiff
path: root/odb/pgsql/result-ptr.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-08-30 16:10:02 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-08-30 16:10:30 +0200
commit9fce9a7250f63a2a3cceeb0aac7b22d5dd7e6915 (patch)
treedd20f89ddd286f663aaf881835970c03cc628855 /odb/pgsql/result-ptr.hxx
parent44a26d189e186ac10c4a80c4dbb68d65927b12a9 (diff)
Implement uniform handle management across all databases
Also use the auto_handle template instead of the raw handle in connection, statement, and result classes. This removes a lot of brittle "exception safety guarantee" code that we had in those classes.
Diffstat (limited to 'odb/pgsql/result-ptr.hxx')
-rw-r--r--odb/pgsql/result-ptr.hxx76
1 files changed, 0 insertions, 76 deletions
diff --git a/odb/pgsql/result-ptr.hxx b/odb/pgsql/result-ptr.hxx
deleted file mode 100644
index 2c5ee89..0000000
--- a/odb/pgsql/result-ptr.hxx
+++ /dev/null
@@ -1,76 +0,0 @@
-// file : odb/pgsql/result-ptr.hxx
-// author : Constantin Michael <constantin@codesynthesis.com>
-// copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC
-// license : GNU GPL v2; see accompanying LICENSE file
-
-#ifndef ODB_PGSQL_RESULT_PTR_HXX
-#define ODB_PGSQL_RESULT_PTR_HXX
-
-#include <odb/pre.hxx>
-
-#include <libpq-fe.h>
-
-#include <odb/pgsql/version.hxx>
-
-#include <odb/pgsql/details/export.hxx>
-
-//
-// Note: do not include this header into public headers (i.e., those
-// that may be included, directly or indirectly, by user code) because
-// it includes libpq-fe.h
-//
-
-namespace odb
-{
- namespace pgsql
- {
- class LIBODB_PGSQL_EXPORT result_ptr
- {
- public:
- result_ptr (PGresult* r = 0)
- : r_ (r)
- {
- }
-
- ~result_ptr ()
- {
- if (r_ != 0)
- PQclear (r_);
- }
-
- PGresult*
- get () const
- {
- return r_;
- }
-
- void
- reset (PGresult* r = 0)
- {
- if (r_ != 0)
- PQclear (r_);
-
- r_ = r;
- }
-
- PGresult*
- release ()
- {
- PGresult* r (r_);
- r_ = 0;
- return r;
- }
-
- private:
- result_ptr (const result_ptr&);
- result_ptr& operator= (const result_ptr&);
-
- private:
- PGresult* r_;
- };
- }
-}
-
-#include <odb/post.hxx>
-
-#endif // ODB_PGSQL_RESULT_PTR_HXX