summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/oracle.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-07-15 04:11:51 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-07-15 04:11:51 +0000
commit6566427fd0587fc45bdc4c0eeb651ce43d36d53d (patch)
tree9575505cdf74621df62af647c263004bc3b80adf /lib/sqlalchemy/databases/oracle.py
parent5e93bb715260c7d259fe24d1522c51cdbf126e6d (diff)
downloadsqlalchemy-6566427fd0587fc45bdc4c0eeb651ce43d36d53d.tar.gz
- converts cx_oracle datetime objects to Python datetime.datetime when
Python 2.3 used [ticket:542]
Diffstat (limited to 'lib/sqlalchemy/databases/oracle.py')
-rw-r--r--lib/sqlalchemy/databases/oracle.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py
index e7f8f483a..35b72af6c 100644
--- a/lib/sqlalchemy/databases/oracle.py
+++ b/lib/sqlalchemy/databases/oracle.py
@@ -43,6 +43,14 @@ class OracleDate(sqltypes.Date):
class OracleDateTime(sqltypes.DateTime):
def get_col_spec(self):
return "DATE"
+
+ def convert_result_value(self, value, dialect):
+ if value is None or isinstance(value,datetime.datetime):
+ return value
+ else:
+ # convert cx_oracle datetime object returned pre-python 2.4
+ return datetime.datetime(value.year,value.month,
+ value.day,value.hour, value.minute, value.second)
# Note:
# Oracle DATE == DATETIME
@@ -57,6 +65,15 @@ class OracleTimestamp(sqltypes.TIMESTAMP):
def get_dbapi_type(self, dialect):
return dialect.TIMESTAMP
+ def convert_result_value(self, value, dialect):
+ if value is None or isinstance(value,datetime.datetime):
+ return value
+ else:
+ # convert cx_oracle datetime object returned pre-python 2.4
+ return datetime.datetime(value.year,value.month,
+ value.day,value.hour, value.minute, value.second)
+
+
class OracleString(sqltypes.String):
def get_col_spec(self):
return "VARCHAR(%(length)s)" % {'length' : self.length}