summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorGaëtan de Menten <gdementen@gmail.com>2009-10-30 11:09:45 +0000
committerGaëtan de Menten <gdementen@gmail.com>2009-10-30 11:09:45 +0000
commit1adf8e7fcd5027467baffea838fcbd2189baf3d6 (patch)
tree5727e15aa92b515f447df6c609244384fdc89ff5 /lib/sqlalchemy
parent876b3fdd3f82bfcd90ec5979ec1b78d4a7c93a57 (diff)
downloadsqlalchemy-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.py25
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