diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-27 20:38:53 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-27 20:38:53 -0400 |
| commit | c926f0a9d8910c67554f053ed0f7902542679f0d (patch) | |
| tree | 85db2c4de6f43e4eee491b58b60e233b6b20a16e /lib/sqlalchemy/dialects | |
| parent | 2709ae46884f405d95dc16be0667a6cbbebcfb69 (diff) | |
| download | sqlalchemy-c926f0a9d8910c67554f053ed0f7902542679f0d.tar.gz | |
plugging away
Diffstat (limited to 'lib/sqlalchemy/dialects')
| -rw-r--r-- | lib/sqlalchemy/dialects/informix/base.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/base.py | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/information_schema.py | 7 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/base.py | 27 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/cymysql.py | 9 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/oursql.py | 20 |
6 files changed, 26 insertions, 45 deletions
diff --git a/lib/sqlalchemy/dialects/informix/base.py b/lib/sqlalchemy/dialects/informix/base.py index a5a6917af..e13ea8819 100644 --- a/lib/sqlalchemy/dialects/informix/base.py +++ b/lib/sqlalchemy/dialects/informix/base.py @@ -299,7 +299,7 @@ class InfoDDLCompiler(compiler.DDLCompiler): def get_column_default_string(self, column): if (isinstance(column.server_default, schema.DefaultClause) and - isinstance(column.server_default.arg, util.string_type)): + isinstance(column.server_default.arg, util.string_types)): if isinstance(column.type, (sqltypes.Integer, sqltypes.Numeric)): return self.sql_compiler.process(text(column.server_default.arg)) diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index c5b86b887..d463b379d 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -295,7 +295,7 @@ class _MSDate(sqltypes.Date): def process(value): if isinstance(value, datetime.datetime): return value.date() - elif isinstance(value, util.string_type): + elif isinstance(value, util.string_types): return datetime.date(*[ int(x or 0) for x in self._reg.match(value).groups() @@ -328,7 +328,7 @@ class TIME(sqltypes.TIME): def process(value): if isinstance(value, datetime.datetime): return value.time() - elif isinstance(value, util.string_type): + elif isinstance(value, util.string_types): return datetime.time(*[ int(x or 0) for x in self._reg.match(value).groups()]) @@ -1002,7 +1002,7 @@ class MSDDLCompiler(compiler.DDLCompiler): # handle other included columns if index.kwargs.get("mssql_include"): inclusions = [index.table.c[col] - if isinstance(col, util.string_type) else col + if isinstance(col, util.string_types) else col for col in index.kwargs["mssql_include"]] text += " INCLUDE (%s)" \ diff --git a/lib/sqlalchemy/dialects/mssql/information_schema.py b/lib/sqlalchemy/dialects/mssql/information_schema.py index 61403271f..a7628f213 100644 --- a/lib/sqlalchemy/dialects/mssql/information_schema.py +++ b/lib/sqlalchemy/dialects/mssql/information_schema.py @@ -9,6 +9,7 @@ from ... import Table, MetaData, Column from ...types import String, Unicode, Integer, TypeDecorator from ... import cast +from ... import util ischema = MetaData() @@ -17,10 +18,8 @@ class CoerceUnicode(TypeDecorator): impl = Unicode def process_bind_param(self, value, dialect): -# start Py2K -# if isinstance(value, str): -# value = value.decode(dialect.encoding) -# end Py2K + if util.py2k and isinstance(value, util.binary_type): + value = value.decode(dialect.encoding) return value def bind_expression(self, bindvalue): diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index c0497b14f..1857c9a46 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -1171,7 +1171,7 @@ class SET(_StringType): super_convert = super(SET, self).bind_processor(dialect) def process(value): - if value is None or isinstance(value, (int, str)): + if value is None or isinstance(value, util.int_types + util.string_types): pass else: if None in value: @@ -1352,7 +1352,7 @@ class MySQLCompiler(compiler.SQLCompiler): of a SELECT. """ - if isinstance(select._distinct, str): + if isinstance(select._distinct, util.string_types): return select._distinct.upper() + " " elif select._distinct: return "DISTINCT " @@ -1494,7 +1494,7 @@ class MySQLDDLCompiler(compiler.DDLCompiler): k[len(self.dialect.name) + 1:].upper(), v ) - for k, v in list(table.kwargs.items()) + for k, v in table.kwargs.items() if k.startswith('%s_' % self.dialect.name) ) @@ -2485,7 +2485,7 @@ class MySQLTableDefinitionParser(object): for nope in ('auto_increment', 'data directory', 'index directory'): options.pop(nope, None) - for opt, val in list(options.items()): + for opt, val in options.items(): state.table_options['%s_%s' % (self.dialect.name, opt)] = val def _parse_column(self, line, state): @@ -2626,11 +2626,11 @@ class MySQLTableDefinitionParser(object): _final = self.preparer.final_quote - quotes = dict(list(zip(('iq', 'fq', 'esc_fq'), + quotes = dict(zip(('iq', 'fq', 'esc_fq'), [re.escape(s) for s in (self.preparer.initial_quote, _final, - self.preparer._escape_identifier(_final))]))) + self.preparer._escape_identifier(_final))])) self._pr_name = _pr_compile( r'^CREATE (?:\w+ +)?TABLE +' @@ -2802,12 +2802,8 @@ class _DecodingRowProxy(object): item = self.rowproxy[index] if isinstance(item, _array): item = item.tostring() -# start Py2K -# if self.charset and isinstance(item, str): -# end Py2K -# start Py3K - if self.charset and isinstance(item, bytes): -# end Py3K + + if self.charset and isinstance(item, util.binary_type): return item.decode(self.charset) else: return item @@ -2816,12 +2812,7 @@ class _DecodingRowProxy(object): item = getattr(self.rowproxy, attr) if isinstance(item, _array): item = item.tostring() -# start Py2K -# if self.charset and isinstance(item, str): -# end Py2K -# start Py3K - if self.charset and isinstance(item, bytes): -# end Py3K + if self.charset and isinstance(item, util.binary_type): return item.decode(self.charset) else: return item diff --git a/lib/sqlalchemy/dialects/mysql/cymysql.py b/lib/sqlalchemy/dialects/mysql/cymysql.py index 6fcbc2307..deb2de449 100644 --- a/lib/sqlalchemy/dialects/mysql/cymysql.py +++ b/lib/sqlalchemy/dialects/mysql/cymysql.py @@ -25,16 +25,9 @@ class _cymysqlBIT(BIT): def process(value): if value is not None: -# start Py2K -# v = 0L -# for i in map(ord, value): -# v = v << 8 | i -# end Py2K -# start Py3K v = 0 - for i in value: + for i in util.iterbytes(value): v = v << 8 | i -# end Py3K return v return value return process diff --git a/lib/sqlalchemy/dialects/mysql/oursql.py b/lib/sqlalchemy/dialects/mysql/oursql.py index b97afe933..77370f91d 100644 --- a/lib/sqlalchemy/dialects/mysql/oursql.py +++ b/lib/sqlalchemy/dialects/mysql/oursql.py @@ -55,10 +55,10 @@ class MySQLExecutionContext_oursql(MySQLExecutionContext): class MySQLDialect_oursql(MySQLDialect): driver = 'oursql' -# start Py2K -# supports_unicode_binds = True -# supports_unicode_statements = True -# end Py2K + + if util.py2k: + supports_unicode_binds = True + supports_unicode_statements = True supports_native_decimal = True @@ -90,13 +90,11 @@ class MySQLDialect_oursql(MySQLDialect): connection.cursor().execute('BEGIN', plain_query=True) def _xa_query(self, connection, query, xid): -# start Py2K -# arg = connection.connection._escape_string(xid) -# end Py2K -# start Py3K - charset = self._connection_charset - arg = connection.connection._escape_string(xid.encode(charset)).decode(charset) -# end Py3K + if util.py2k: + arg = connection.connection._escape_string(xid) + else: + charset = self._connection_charset + arg = connection.connection._escape_string(xid.encode(charset)).decode(charset) arg = "'%s'" % arg connection.execution_options(_oursql_plain_query=True).execute(query % arg) |
