diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-06-17 00:13:31 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-06-17 00:13:31 +0000 |
| commit | 23525a3ea876f6ab16566c2dd0bbaa7ec1037052 (patch) | |
| tree | 07b418d831b3dfcc4d2c88e8cb720737c5bfcf15 /lib/sqlalchemy | |
| parent | 93215f429db15d8cf94dfc9f889efb828c6707f2 (diff) | |
| download | sqlalchemy-23525a3ea876f6ab16566c2dd0bbaa7ec1037052.tar.gz | |
- datetime fixes: got subsecond TIMESTAMP to work [ticket:604],
added OracleDate which supports types.Date with only year/month/day
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 1cb4a0027..55695e1ef 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -11,6 +11,7 @@ from sqlalchemy import util, sql, engine, schema, ansisql, exceptions, logging from sqlalchemy.engine import default, base import sqlalchemy.types as sqltypes +import datetime class OracleNumeric(sqltypes.Numeric): @@ -28,6 +29,17 @@ class OracleSmallInteger(sqltypes.Smallinteger): def get_col_spec(self): return "SMALLINT" +class OracleDate(sqltypes.Date): + def get_col_spec(self): + return "DATE" + def convert_bind_param(self, value, dialect): + return value + def convert_result_value(self, value, dialect): + if not isinstance(value, datetime.datetime): + return value + else: + return value.date() + class OracleDateTime(sqltypes.DateTime): def get_col_spec(self): return "DATE" @@ -111,7 +123,7 @@ colspecs = { sqltypes.Numeric : OracleNumeric, sqltypes.Float : OracleNumeric, sqltypes.DateTime : OracleDateTime, - sqltypes.Date : OracleDateTime, + sqltypes.Date : OracleDate, sqltypes.String : OracleString, sqltypes.Binary : OracleBinary, sqltypes.Boolean : OracleBoolean, @@ -122,7 +134,7 @@ colspecs = { ischema_names = { 'VARCHAR2' : OracleString, - 'DATE' : OracleDateTime, + 'DATE' : OracleDate, 'DATETIME' : OracleDateTime, 'NUMBER' : OracleNumeric, 'BLOB' : OracleBinary, |
