diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-08-10 04:48:00 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-08-10 04:48:00 +0000 |
commit | c3bdad10a384f779624f015a34ada785ad2dedf5 (patch) | |
tree | 3c7b7564dd93482cdb63eb205d6f80622f599fba /lib/sqlalchemy/dialects/mysql/mysqldb.py | |
parent | d564baf593311ca5bc62dbc401e57986bf9169ba (diff) | |
download | sqlalchemy-c3bdad10a384f779624f015a34ada785ad2dedf5.tar.gz |
- simplify MySQLIdentifierPreparer into standard pattern,
thus allowing easy subclassing
- move % sign logic for MySQLIdentifierPreparer into MySQLdb dialect
- paramterize the escape/unescape quote char in IdentifierPreparer
- cut out MySQLTableDefinitionParser cruft
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql/mysqldb.py')
-rw-r--r-- | lib/sqlalchemy/dialects/mysql/mysqldb.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/mysqldb.py b/lib/sqlalchemy/dialects/mysql/mysqldb.py index 6ecfc4b84..a7764add7 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqldb.py +++ b/lib/sqlalchemy/dialects/mysql/mysqldb.py @@ -24,7 +24,7 @@ import decimal import re from sqlalchemy.dialects.mysql.base import (DECIMAL, MySQLDialect, MySQLExecutionContext, - MySQLCompiler, NUMERIC, _NumericType) + MySQLCompiler, MySQLIdentifierPreparer, NUMERIC, _NumericType) 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 @@ -66,6 +66,11 @@ class _MySQLdbNumeric(_DecimalType, NUMERIC): class _MySQLdbDecimal(_DecimalType, DECIMAL): pass +class MySQL_mysqldbIdentifierPreparer(MySQLIdentifierPreparer): + + def _escape_identifier(self, value): + value = value.replace(self.escape_quote, self.escape_to_quote) + return value.replace("%", "%%") class MySQL_mysqldb(MySQLDialect): driver = 'mysqldb' @@ -76,7 +81,8 @@ class MySQL_mysqldb(MySQLDialect): default_paramstyle = 'format' execution_ctx_cls = MySQL_mysqldbExecutionContext statement_compiler = MySQL_mysqldbCompiler - + preparer = MySQL_mysqldbIdentifierPreparer + colspecs = util.update_copy( MySQLDialect.colspecs, { |