From c152cb32b38a25d3c6c5d13922d0e2a2192411f5 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 3 Jan 2006 00:32:39 +0000 Subject: [PATCH] trying to get pg1 date type to work, unsuccessful --- lib/sqlalchemy/databases/postgres.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py index 350f61b756..a672104021 100644 --- a/lib/sqlalchemy/databases/postgres.py +++ b/lib/sqlalchemy/databases/postgres.py @@ -16,12 +16,14 @@ import sqlalchemy.databases.information_schema as ischema try: import psycopg2 as psycopg + #import psycopg2.psycopg1 as psycopg except: try: import psycopg except: psycopg = None - + + class PGNumeric(sqltypes.Numeric): def get_col_spec(self): return "NUMERIC(%(precision)s, %(length)s)" % {'precision': self.precision, 'length' : self.length} @@ -35,10 +37,11 @@ class PG2DateTime(sqltypes.DateTime): def get_col_spec(self): return "TIMESTAMP" class PG1DateTime(sqltypes.DateTime): - def convert_bind_param(self, value): + def convert_bind_param(self, value, engine): # TODO: perform appropriate postgres1 conversion between Python DateTime/MXDateTime - return value - def convert_result_value(self, value): + # this one doesnt seem to work with the "emulation" mode + return psycopg.TimestampFromMx(value) + def convert_result_value(self, value, engine): # TODO: perform appropriate postgres1 conversion between Python DateTime/MXDateTime return value def get_col_spec(self): @@ -115,7 +118,7 @@ class PGSQLEngine(ansisql.ANSISQLEngine): else: self.module = module # figure psycopg version 1 or 2 - if self.module.__name__ == 'psycopg2': + if self.module.__name__.endswith('psycopg2'): self.version = 2 else: self.version = 1 -- 2.47.2