From ce57c8c0d6826315195675cf423a8cb47beb72ac Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 22 Mar 2007 17:58:30 +0000 Subject: [PATCH] - CLOB type descends from TEXT so it goes to the dialect correctly - oracle CLOB has result value LOB handling --- CHANGES | 2 ++ lib/sqlalchemy/databases/oracle.py | 6 ++++++ lib/sqlalchemy/types.py | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index cd8e97ff1e..ffcb701f18 100644 --- a/CHANGES +++ b/CHANGES @@ -57,6 +57,8 @@ it was my fault as BINARY was being passed and not BLOB for setinputsizes (also unit tests werent even setting input sizes). + - also fixed CLOB read/write on a separate changeset. + - auto_setinputsizes defaults to True for Oracle, fixed cases where it improperly propigated bad types. diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index efc9a27814..d9b85746d6 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -57,6 +57,12 @@ class OracleText(sqltypes.TEXT): def get_col_spec(self): return "CLOB" + def convert_result_value(self, value, dialect): + if value is None: + return None + else: + return value.read() + class OracleString(sqltypes.String): def get_col_spec(self): return "VARCHAR(%(length)s)" % {'length' : self.length} diff --git a/lib/sqlalchemy/types.py b/lib/sqlalchemy/types.py index bf5b359575..86e323c6ea 100644 --- a/lib/sqlalchemy/types.py +++ b/lib/sqlalchemy/types.py @@ -371,7 +371,7 @@ class TIMESTAMP(DateTime): pass class DATETIME(DateTime): pass class DATE(Date): pass class TIME(Time): pass -class CLOB(String): pass +class CLOB(TEXT): pass class VARCHAR(String): pass class CHAR(String):pass class NCHAR(Unicode):pass -- 2.47.2