diff options
| author | Gaëtan de Menten <gdementen@gmail.com> | 2009-10-30 11:09:45 +0000 |
|---|---|---|
| committer | Gaëtan de Menten <gdementen@gmail.com> | 2009-10-30 11:09:45 +0000 |
| commit | 1adf8e7fcd5027467baffea838fcbd2189baf3d6 (patch) | |
| tree | 5727e15aa92b515f447df6c609244384fdc89ff5 /lib/sqlalchemy | |
| parent | 876b3fdd3f82bfcd90ec5979ec1b78d4a7c93a57 (diff) | |
| download | sqlalchemy-1adf8e7fcd5027467baffea838fcbd2189baf3d6.tar.gz | |
get a bit more speed out of datetime and LOB-based types on cx_oracle
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py index 348c5b6b4..b6f16792e 100644 --- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py +++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py @@ -78,7 +78,7 @@ from sqlalchemy.dialects.oracle.base import OracleCompiler, OracleDialect, RESER from sqlalchemy.dialects.oracle import base as oracle from sqlalchemy.engine import base from sqlalchemy import types as sqltypes, util -import datetime +from datetime import datetime class _OracleDate(sqltypes.Date): def bind_processor(self, dialect): @@ -86,7 +86,7 @@ class _OracleDate(sqltypes.Date): def result_processor(self, dialect): def process(value): - if not isinstance(value, datetime.datetime): + if not isinstance(value, datetime): return value else: return value.date() @@ -95,11 +95,11 @@ class _OracleDate(sqltypes.Date): class _OracleDateTime(sqltypes.DateTime): def result_processor(self, dialect): def process(value): - if value is None or isinstance(value, datetime.datetime): + if value is None or isinstance(value, datetime): return value else: # convert cx_oracle datetime object returned pre-python 2.4 - return datetime.datetime(value.year, value.month, + return datetime(value.year, value.month, value.day,value.hour, value.minute, value.second) return process @@ -112,11 +112,11 @@ class _OracleDateTime(sqltypes.DateTime): class _OracleTimestamp(sqltypes.TIMESTAMP): def result_processor(self, dialect): def process(value): - if value is None or isinstance(value, datetime.datetime): + if value is None or isinstance(value, datetime): return value else: # convert cx_oracle datetime object returned pre-python 2.4 - return datetime.datetime(value.year, value.month, + return datetime(value.year, value.month, value.day,value.hour, value.minute, value.second) return process @@ -129,15 +129,16 @@ class _LOBMixin(object): super_process = super(_LOBMixin, self).result_processor(dialect) lob = dialect.dbapi.LOB - def process(value): - if isinstance(value, lob): - if super_process: + if super_process: + def process(value): + if isinstance(value, lob): return super_process(value.read()) else: - return value.read() - else: - if super_process: return super_process(value) + else: + def process(value): + if isinstance(value, lob): + return value.read() else: return value return process |
