diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-11 10:27:18 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-03-11 10:27:18 -0500 |
| commit | ea4916001d5023100549d5dcc07ef51657d079fc (patch) | |
| tree | 40b25579188d08285620a02282d93560fc26e0ae | |
| parent | 9520c878b6f350081fd8c95c6ed3fdf1d2d7d244 (diff) | |
| download | sqlalchemy-ea4916001d5023100549d5dcc07ef51657d079fc.tar.gz | |
- Oracle 'DATE' now does not perform any result processing,
as the DATE type in Oracle stores full date+time objects,
that's what you'll get. Note that the generic types.Date
type *will* still call value.date() on incoming values,
however. When reflecting a table, the reflected type
will be 'DATE'.
| -rw-r--r-- | CHANGES | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/base.py | 1 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 3 | ||||
| -rw-r--r-- | test/dialect/test_oracle.py | 1 |
4 files changed, 9 insertions, 2 deletions
@@ -289,6 +289,12 @@ CHANGES - "out" parameters require a type that is supported by cx_oracle. An error will be raised if no cx_oracle type can be found. + - Oracle 'DATE' now does not perform any result processing, + as the DATE type in Oracle stores full date+time objects, + that's what you'll get. Note that the generic types.Date + type *will* still call value.date() on incoming values, + however. When reflecting a table, the reflected type + will be 'DATE'. - sqlite - Added "native_datetime=True" flag to create_engine(). diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index 5f7a30292..3107c8b6c 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -211,7 +211,6 @@ ischema_names = { 'NVARCHAR2' : NVARCHAR, 'CHAR' : CHAR, 'DATE' : DATE, - 'DATETIME' : DATETIME, 'NUMBER' : NUMBER, 'BLOB' : BLOB, 'BFILE' : BFILE, diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py index 47909f8d1..d536188da 100644 --- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py +++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py @@ -177,7 +177,8 @@ class _OracleRaw(oracle.RAW): pass colspecs = { - sqltypes.Date : _OracleDate, + sqltypes.Date : _OracleDate, # generic type, assume datetime.date is desired + oracle.DATE: oracle.DATE, # non generic type - passthru sqltypes.LargeBinary : _OracleBinary, sqltypes.Boolean : oracle._OracleBoolean, sqltypes.Interval : _OracleInterval, diff --git a/test/dialect/test_oracle.py b/test/dialect/test_oracle.py index a6c3c19bc..fc698f28a 100644 --- a/test/dialect/test_oracle.py +++ b/test/dialect/test_oracle.py @@ -460,6 +460,7 @@ class TypesTest(TestBase, AssertsCompiledSQL): (oracle.OracleRaw(), cx_oracle._OracleRaw), (String(), String), (VARCHAR(), VARCHAR), + (DATE(), DATE), (String(50), String), (Unicode(), Unicode), (Text(), cx_oracle._OracleText), |
