aboutsummaryrefslogtreecommitdiff
path: root/odb/pgsql/error.hxx
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-05-11 10:57:56 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-05-11 10:57:56 +0200
commit3cdf7c4e3f6b085b4b386d4da64f3fbf396375a3 (patch)
treee2f5dd54ed7aca322a4ab6a622cd677a7db7f650 /odb/pgsql/error.hxx
parentfd0eb17d25ee829557549255ec64f9b9b063ec8b (diff)
Modify error to allow for libpq resource cleanup
Diffstat (limited to 'odb/pgsql/error.hxx')
-rw-r--r--odb/pgsql/error.hxx16
1 files changed, 13 insertions, 3 deletions
diff --git a/odb/pgsql/error.hxx b/odb/pgsql/error.hxx
index 3de9e78..7d2138b 100644
--- a/odb/pgsql/error.hxx
+++ b/odb/pgsql/error.hxx
@@ -21,10 +21,20 @@ namespace odb
class connection;
LIBODB_PGSQL_EXPORT void
- translate_error (connection&);
-
+ translate_connection_error (connection&);
+
+ // Translate an error condition involving a PGresult*. If r is null, it is
+ // assumed that the error was caused due to a bad connection or a memory
+ // allocation error. All remaining parameters except c are ignored. If r
+ // is non-null, the error is translated using the provided result status,
+ // s. Error descriptions are obtained using r. If clear_result is true,
+ // the resources associated with r are released via PQclear().
+ //
LIBODB_PGSQL_EXPORT void
- translate_error (connection& c, PGresult* r);
+ translate_result_error (connection& c,
+ PGresult* r = 0,
+ ExecStatusType s = PGRES_EMPTY_QUERY,
+ bool clear_result = true);
}
}