]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- fixed unicode conversion in Oracle TEXT type
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 15 Jul 2007 04:24:41 +0000 (04:24 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 15 Jul 2007 04:24:41 +0000 (04:24 +0000)
CHANGES
lib/sqlalchemy/databases/oracle.py
test/sql/testtypes.py

diff --git a/CHANGES b/CHANGES
index 20445557f672a8af11de78706e8b73bf0aac425d..6caab88289ae2856a2b5f9915bcaf220f5504c82 100644 (file)
--- a/CHANGES
+++ b/CHANGES
     - mod operator '%' produces MOD [ticket:624]
     - converts cx_oracle datetime objects to Python datetime.datetime when
       Python 2.3 used [ticket:542]
+    - fixed unicode conversion in Oracle TEXT type
 - postgres
     - fixed escaping of the modulo operator [ticket:624]
     - added support for reflection of domains [ticket:570]
index 35b72af6c0ac6754efbbafd8126726cb84f57623..9d7d6a112b542a92f2621d14faad2ffc838b052d 100644 (file)
@@ -89,7 +89,8 @@ class OracleText(sqltypes.TEXT):
         if value is None:
             return None
         else:
-            return value.read()
+            return super(OracleText, self).convert_result_value(value.read(), dialect)
+
 
 class OracleRaw(sqltypes.Binary):
     def get_col_spec(self):
index cf5ce1f1ac49f266ee70ed1aba4423b8ecc0145b..898592cd3535345aedda0c1f8aa79e5b51fcc559 100644 (file)
@@ -67,7 +67,8 @@ class AdaptTest(PersistTest):
         col = Column('', MyDecoratedType)
         dialect_type = col.type.dialect_impl(dialect)
         assert isinstance(dialect_type.impl, oracle.OracleText), repr(dialect_type.impl)
-    
+
+
     def testoracletimestamp(self):
         dialect = oracle.OracleDialect()
         t1 = oracle.OracleTimestamp
@@ -207,6 +208,7 @@ class UnicodeTest(AssertMixin):
         finally:
             db.engine.dialect.convert_unicode = prev_unicode
 
+    @testbase.unsupported('oracle')
     def testlength(self):
         """checks the database correctly understands the length of a unicode string"""
         teststr = u'aaa\x1234'
@@ -362,7 +364,7 @@ class IntervalTest(AssertMixin):
         global interval_table, metadata
         metadata = MetaData(testbase.db)
         interval_table = Table("intervaltable", metadata, 
-            Column("id", Integer, primary_key=True),
+            Column("id", Integer, Sequence('interval_id_seq', optional=True), primary_key=True),
             Column("interval", Interval),
             )
         metadata.create_all()