summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-03-12 18:30:38 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2010-03-12 18:30:38 +0000
commit1b169548642b4ced5b25510d35fdd28af0c06c7e (patch)
tree717b72a5040cd5582f5ad5e027ab8028603d2368 /test
parentb4f1fbc70874256e3f78d8bcc597a3589d728b49 (diff)
downloadsqlalchemy-1b169548642b4ced5b25510d35fdd28af0c06c7e.tar.gz
- introduce an optimizing type _NativeUnicodeMixin to oracle plus supporting
changes to Enum/SchemaType to re-support adaptation of string types. This approach can be adapted by "conditional" unicode returning dialects (i.e. pyodbc and possibly mxodbc) to remove the overhead of isinstance(value, unicode) calls when the dialect returned type is of dbapi.UNICODE, dbapi.NVARCHAR, etc.
Diffstat (limited to 'test')
-rw-r--r--test/dialect/test_oracle.py6
-rw-r--r--test/sql/test_query.py3
-rw-r--r--test/sql/test_types.py4
3 files changed, 7 insertions, 6 deletions
diff --git a/test/dialect/test_oracle.py b/test/dialect/test_oracle.py
index fc698f28a..5b64165d8 100644
--- a/test/dialect/test_oracle.py
+++ b/test/dialect/test_oracle.py
@@ -459,10 +459,10 @@ class TypesTest(TestBase, AssertsCompiledSQL):
(Date(), cx_oracle._OracleDate),
(oracle.OracleRaw(), cx_oracle._OracleRaw),
(String(), String),
- (VARCHAR(), VARCHAR),
+ (VARCHAR(), cx_oracle._OracleString),
(DATE(), DATE),
- (String(50), String),
- (Unicode(), Unicode),
+ (String(50), cx_oracle._OracleString),
+ (Unicode(), cx_oracle._OracleNVarChar),
(Text(), cx_oracle._OracleText),
(UnicodeText(), cx_oracle._OracleUnicodeText),
(NCHAR(), cx_oracle._OracleNVarChar),
diff --git a/test/sql/test_query.py b/test/sql/test_query.py
index a9915ab29..4ccc51713 100644
--- a/test/sql/test_query.py
+++ b/test/sql/test_query.py
@@ -770,8 +770,7 @@ class QueryTest(TestBase):
@testing.emits_warning('.*empty sequence.*')
@testing.fails_on('firebird', "kinterbasdb doesn't send full type information")
@testing.fails_if(lambda:
- (testing.db.name, testing.db.driver) == ('mssql', 'pyodbc')
- and not testing.db.dialect.freetds,
+ testing.against('mssql+pyodbc') and not testing.db.dialect.freetds,
"not supported by Windows ODBC driver")
def test_bind_in(self):
users.insert().execute(user_id = 7, user_name = 'jack')
diff --git a/test/sql/test_types.py b/test/sql/test_types.py
index af8881a4e..6a021b96f 100644
--- a/test/sql/test_types.py
+++ b/test/sql/test_types.py
@@ -312,7 +312,9 @@ class UnicodeTest(TestBase, AssertsExecutionResults):
def test_native_unicode(self):
"""assert expected values for 'native unicode' mode"""
- if testing.against('mssql+pyodbc') and not testing.db.dialect.freetds:
+ if \
+ (testing.against('mssql+pyodbc') and not testing.db.dialect.freetds) or \
+ testing.against('oracle+cx_oracle'):
assert testing.db.dialect.returns_unicode_strings == 'conditional'
return