From 6da610b89a9cbd40061dc11caaf650adc8eaa131 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 26 Jul 2007 22:18:59 +0000 Subject: [PATCH] temporarily disabling genrated type_map which breaks all the othe rdialects --- lib/sqlalchemy/databases/oracle.py | 1 + lib/sqlalchemy/engine/default.py | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index cdf14c9fa7..3350a35068 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -220,6 +220,7 @@ class OracleDialect(ansisql.ANSIDialect): else: self.ORACLE_BINARY_TYPES = [] + def dbapi(cls): import cx_Oracle return cx_Oracle diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 03af9272ac..ff7a62eec0 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -29,13 +29,19 @@ class DefaultDialect(base.Dialect): TODO: dialects should export this mapping explicitly, instead of relying upon module searching. + + TODO: so far, this only seems to work with oracle """ dialect_module = sys.modules[self.__class__.__module__] map = {} - for obj in dialect_module.__dict__.values(): - if isinstance(obj, type) and issubclass(obj, types.TypeEngine): - obj = obj() - map[obj.get_dbapi_type(self.dbapi)] = obj + if False: + for obj in dialect_module.__dict__.values(): + if self.dbapi is not None and isinstance(obj, type) and issubclass(obj, types.TypeEngine): + obj = obj() + try: + map[obj.get_dbapi_type(self.dbapi)] = obj + except AttributeError: + pass self._dbapi_type_map = map def decode_result_columnname(self, name): -- 2.47.3