From 9fb98837b7661aa034e68b2cc9bbf869a9a6ba6b Mon Sep 17 00:00:00 2001 From: Constantin Michael Date: Thu, 14 Jul 2011 10:15:03 +0200 Subject: Forbid connection to database if server integer_datetimes is off --- odb/pgsql/connection.cxx | 8 +++++--- odb/pgsql/connection.hxx | 7 ------- 2 files changed, 5 insertions(+), 10 deletions(-) (limited to 'odb') diff --git a/odb/pgsql/connection.cxx b/odb/pgsql/connection.cxx index fb1ea26..b4790b0 100644 --- a/odb/pgsql/connection.cxx +++ b/odb/pgsql/connection.cxx @@ -3,7 +3,8 @@ // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2; see accompanying LICENSE file -#include // std::bad_alloc +#include // std::bad_alloc +#include // std::strcmp #include #include @@ -48,8 +49,9 @@ namespace odb // Establish whether date/time values are represented as // 8-byte integers. // - integer_datetimes_ = - *PQparameterStatus (handle_, "integer_datetimes") == '1'; + if (strcmp (PQparameterStatus (handle_, "integer_datetimes"), "on") != 0) + throw database_exception ("unsupported binary format for PostgreSQL " + "date-time SQL types"); } connection:: diff --git a/odb/pgsql/connection.hxx b/odb/pgsql/connection.hxx index 5e24749..4793248 100644 --- a/odb/pgsql/connection.hxx +++ b/odb/pgsql/connection.hxx @@ -59,12 +59,6 @@ namespace odb return *statement_cache_; } - bool - integer_datetimes () const - { - return integer_datetimes_; - } - private: connection (const connection&); connection& operator= (const connection&); @@ -72,7 +66,6 @@ namespace odb private: database_type& db_; PGconn* handle_; - bool integer_datetimes_; std::auto_ptr statement_cache_; }; -- cgit v1.1