aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/pgsql/connection.cxx8
-rw-r--r--odb/pgsql/connection.hxx8
2 files changed, 15 insertions, 1 deletions
diff --git a/odb/pgsql/connection.cxx b/odb/pgsql/connection.cxx
index 4d51817..41fa7f0 100644
--- a/odb/pgsql/connection.cxx
+++ b/odb/pgsql/connection.cxx
@@ -44,7 +44,15 @@ namespace odb
throw database_exception (m);
}
+ // Suppress server notifications to stdout.
+ //
PQsetNoticeProcessor (handle_, &nop_process_notice, 0);
+
+ // Establish whether date/time values are represented as
+ // 8-byte integers.
+ //
+ integer_datetimes_ =
+ *PQparameterStatus (handle_, "integer_datetimes") == '1';
}
connection::
diff --git a/odb/pgsql/connection.hxx b/odb/pgsql/connection.hxx
index 6764794..5e24749 100644
--- a/odb/pgsql/connection.hxx
+++ b/odb/pgsql/connection.hxx
@@ -59,14 +59,20 @@ namespace odb
return *statement_cache_;
}
+ bool
+ integer_datetimes () const
+ {
+ return integer_datetimes_;
+ }
+
private:
connection (const connection&);
connection& operator= (const connection&);
private:
database_type& db_;
-
PGconn* handle_;
+ bool integer_datetimes_;
std::auto_ptr<statement_cache_type> statement_cache_;
};