]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Fixed ora-8 compatibility flags such that they
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 19 Jun 2010 17:39:32 +0000 (13:39 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 19 Jun 2010 17:39:32 +0000 (13:39 -0400)
don't cache a stale value from before the first
database connection actually occurs. [ticket:1819]

CHANGES
lib/sqlalchemy/dialects/oracle/base.py
test/dialect/test_oracle.py

diff --git a/CHANGES b/CHANGES
index f41bac381dd51857f1bbbf100b5ab8f626fd919b..7eb7b2adb6ea4c94012929360b803f6f0bf65e30 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -82,6 +82,11 @@ CHANGES
   - MySQL dialect doesn't emit CAST() for MySQL version 
     detected < 4.0.2.  This allows the unicode
     check on connect to proceed. [ticket:1826]
+
+- oracle:
+  - Fixed ora-8 compatibility flags such that they
+    don't cache a stale value from before the first
+    database connection actually occurs. [ticket:1819]
     
 - firebird
   - Fixed incorrect signature in do_execute(), error 
index 6443886dc63bfd09109bc36b6b68a9083a6b1679..52bf8157120b2002b532d69501952426c8c6c9d7 100644 (file)
@@ -634,11 +634,11 @@ class OracleDialect(default.DefaultDialect):
         return self.server_version_info and \
                     self.server_version_info < (9, )
         
-    @util.memoized_property
+    @property
     def _supports_char_length(self):
         return not self._is_oracle_8
 
-    @util.memoized_property
+    @property
     def _supports_nchar(self):
         return not self._is_oracle_8
         
index a3f037b5faa47b326dd39ddc3ac449b052012aec..6a279ea9d84f42e2ec34ef3ff4bfbce0544be975 100644 (file)
@@ -366,6 +366,12 @@ class CompatFlagsTest(TestBase, AssertsCompiledSQL):
             
         dialect = oracle.dialect()
         dialect._get_server_version_info = server_version_info
+
+        # before connect, assume modern DB
+        assert dialect._supports_char_length
+        assert dialect._supports_nchar
+        assert dialect.use_ansi
+
         dialect.initialize(testing.db.connect())
         assert not dialect._supports_char_length
         assert not dialect._supports_nchar
@@ -397,6 +403,7 @@ class CompatFlagsTest(TestBase, AssertsCompiledSQL):
         self.assert_compile(Unicode(50),"NVARCHAR2(50)",dialect=dialect)
         self.assert_compile(UnicodeText(),"NCLOB",dialect=dialect)
     
+    
 class MultiSchemaTest(TestBase, AssertsCompiledSQL):
     __only_on__ = 'oracle'