]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
remove unneeded _OracleDateTime/_OracleTimestamp cx_oracle types, streamline _OracleD...
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 6 Dec 2009 01:59:14 +0000 (01:59 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 6 Dec 2009 01:59:14 +0000 (01:59 +0000)
lib/sqlalchemy/dialects/oracle/cx_oracle.py
test/dialect/test_oracle.py

index 47f66c0705107853825a45e6aabd13b8a00539c4..8d69194e6387ff81a250f11bd786d7ab75b9e638 100644 (file)
@@ -86,38 +86,10 @@ class _OracleDate(sqltypes.Date):
 
     def result_processor(self, dialect, coltype):
         def process(value):
-            if not isinstance(value, datetime):
-                return value
-            else:
+            if value is not None:
                 return value.date()
-        return process
-
-class _OracleDateTime(sqltypes.DateTime):
-    def result_processor(self, dialect, coltype):
-        def process(value):
-            if value is None or isinstance(value, datetime):
-                return value
             else:
-                # convert cx_oracle datetime object returned pre-python 2.4
-                return datetime(value.year, value.month,
-                    value.day,value.hour, value.minute, value.second)
-        return process
-
-# Note:
-# Oracle DATE == DATETIME
-# Oracle does not allow milliseconds in DATE
-# Oracle does not support TIME columns
-
-# only if cx_oracle contains TIMESTAMP
-class _OracleTimestamp(sqltypes.TIMESTAMP):
-    def result_processor(self, dialect, coltype):
-        def process(value):
-            if value is None or isinstance(value, datetime):
                 return value
-            else:
-                # convert cx_oracle datetime object returned pre-python 2.4
-                return datetime(value.year, value.month,
-                    value.day,value.hour, value.minute, value.second)
         return process
 
 class _LOBMixin(object):
@@ -196,13 +168,11 @@ class _OracleRaw(oracle.RAW):
 
 
 colspecs = {
-    sqltypes.DateTime : _OracleDateTime,
     sqltypes.Date : _OracleDate,
     sqltypes.Binary : _OracleBinary,
     sqltypes.Boolean : oracle._OracleBoolean,
     sqltypes.Text : _OracleText,
     sqltypes.UnicodeText : _OracleUnicodeText,
-    sqltypes.TIMESTAMP : _OracleTimestamp,
     sqltypes.CHAR : _OracleChar,
     sqltypes.Integer : _OracleInteger,  # this is only needed for OUT parameters.
                                         # it would be nice if we could not use it otherwise.
index 97158217862f2ca3c2801de6a5f479c825bc2f35..62721c39957df0b4e613a58a224f446c488395e0 100644 (file)
@@ -380,8 +380,7 @@ class TypesTest(TestBase, AssertsCompiledSQL):
         dialect = cx_oracle.dialect()
 
         for start, test in [
-            (DateTime(), cx_oracle._OracleDateTime),
-            (TIMESTAMP(), cx_oracle._OracleTimestamp),
+            (Date(), cx_oracle._OracleDate),
             (oracle.OracleRaw(), cx_oracle._OracleRaw),
             (String(), String),
             (VARCHAR(), VARCHAR),