summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/mysql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-04-27 20:38:53 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-04-27 20:38:53 -0400
commitc926f0a9d8910c67554f053ed0f7902542679f0d (patch)
tree85db2c4de6f43e4eee491b58b60e233b6b20a16e /lib/sqlalchemy/dialects/mysql
parent2709ae46884f405d95dc16be0667a6cbbebcfb69 (diff)
downloadsqlalchemy-c926f0a9d8910c67554f053ed0f7902542679f0d.tar.gz
plugging away
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql')
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py27
-rw-r--r--lib/sqlalchemy/dialects/mysql/cymysql.py9
-rw-r--r--lib/sqlalchemy/dialects/mysql/oursql.py20
3 files changed, 19 insertions, 37 deletions
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)