From 73a74cc0aac25d2b96c864e9093061c18c83c46e Mon Sep 17 00:00:00 2001 From: Michael Trier Date: Wed, 24 Feb 2010 23:25:37 +0000 Subject: [PATCH] Fixed binary tests for mssql based on how the new types are being used. --- .../dialects/mysql/mysqlconnector.py | 33 ++++++++++--------- test/dialect/test_mssql.py | 19 +++++++---- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py index 165c7b73e3..f715b72dff 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py +++ b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py @@ -9,28 +9,28 @@ import re from sqlalchemy.dialects.mysql.base import (MySQLDialect, MySQLExecutionContext, MySQLCompiler, MySQLIdentifierPreparer, BIT, NUMERIC) - + from sqlalchemy.engine import base as engine_base, default from sqlalchemy.sql import operators as sql_operators from sqlalchemy import exc, log, schema, sql, types as sqltypes, util from sqlalchemy import processors class MySQL_mysqlconnectorExecutionContext(MySQLExecutionContext): - + def get_lastrowid(self): return self.cursor.lastrowid - - + + class MySQL_mysqlconnectorCompiler(MySQLCompiler): def visit_mod(self, binary, **kw): return self.process(binary.left) + " %% " + self.process(binary.right) - + def post_process_text(self, text): return text.replace('%', '%%') class MySQL_mysqlconnectorIdentifierPreparer(MySQLIdentifierPreparer): - + def _escape_identifier(self, value): value = value.replace(self.escape_quote, self.escape_to_quote) return value.replace("%", "%%") @@ -53,13 +53,14 @@ class MySQL_mysqlconnector(MySQLDialect): supports_unicode_binds = True supports_sane_rowcount = False supports_sane_multi_rowcount = True + description_encoding = None default_paramstyle = 'format' execution_ctx_cls = MySQL_mysqlconnectorExecutionContext statement_compiler = MySQL_mysqlconnectorCompiler - + preparer = MySQL_mysqlconnectorIdentifierPreparer - + colspecs = util.update_copy( MySQLDialect.colspecs, { @@ -67,7 +68,7 @@ class MySQL_mysqlconnector(MySQLDialect): BIT: _myconnpyBIT, } ) - + @classmethod def dbapi(cls): from mysql import connector @@ -76,20 +77,20 @@ class MySQL_mysqlconnector(MySQLDialect): def create_connect_args(self, url): opts = url.translate_connect_args(username='user') opts.update(url.query) - + util.coerce_kw_type(opts, 'buffered', bool) util.coerce_kw_type(opts, 'raise_on_warnings', bool) opts['buffered'] = True opts['raise_on_warnings'] = True - + return [[], opts] def _get_server_version_info(self, connection): dbapi_con = connection.connection - + from mysql.connector.constants import ClientFlag dbapi_con.set_client_flag(ClientFlag.FOUND_ROWS) - + version = dbapi_con.get_server_version() return tuple(version) @@ -101,7 +102,7 @@ class MySQL_mysqlconnector(MySQLDialect): return exception.orig.errno except AttributeError: return None - + def is_disconnect(self, e): errnos = (2006, 2013, 2014, 2045, 2055, 2048) exceptions = (self.dbapi.OperationalError,self.dbapi.InterfaceError) @@ -109,11 +110,11 @@ class MySQL_mysqlconnector(MySQLDialect): return e.errno in errnos else: return False - + def _compat_fetchall(self, rp, charset=None): return rp.fetchall() def _compat_fetchone(self, rp, charset=None): return rp.fetchone() - + dialect = MySQL_mysqlconnector diff --git a/test/dialect/test_mssql.py b/test/dialect/test_mssql.py index 351f44b763..37c38ab41d 100644 --- a/test/dialect/test_mssql.py +++ b/test/dialect/test_mssql.py @@ -871,10 +871,12 @@ class TypesTest(TestBase, AssertsExecutionResults, ComparesTables): # column type, args, kwargs, expected ddl (mssql.MSBinary, [], {}, 'BINARY'), - (types.Binary, [10], {}, + (mssql.MSBinary, [10], {}, 'BINARY(10)'), - (mssql.MSBinary, [10], {}, + (types.BINARY, [], {}, + 'BINARY'), + (types.BINARY, [10], {}, 'BINARY(10)'), (mssql.MSVarBinary, [], {}, @@ -882,14 +884,19 @@ class TypesTest(TestBase, AssertsExecutionResults, ComparesTables): (mssql.MSVarBinary, [10], {}, 'VARBINARY(10)'), + (types.VARBINARY, [], {}, + 'VARBINARY'), + (types.VARBINARY, [10], {}, + 'VARBINARY(10)'), + (mssql.MSImage, [], {}, 'IMAGE'), - (types.Binary, [], {}, + (mssql.IMAGE, [], {}, + 'IMAGE'), + + (types.LargeBinary, [], {}, 'IMAGE'), - (types.Binary, [10], {}, - 'BINARY(10)') - ] table_args = ['test_mssql_binary', metadata] for index, spec in enumerate(columns): -- 2.47.3