From: Mike Bayer Date: Thu, 22 Mar 2007 17:58:30 +0000 (+0000) Subject: - CLOB type descends from TEXT so it goes to the dialect correctly X-Git-Tag: rel_0_3_6~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce57c8c0d6826315195675cf423a8cb47beb72ac;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - CLOB type descends from TEXT so it goes to the dialect correctly - oracle CLOB has result value LOB handling --- 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