diff options
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql')
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/mysqlconnector.py | 14 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/mysqldb.py | 23 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/mysql/oursql.py | 14 |
3 files changed, 11 insertions, 40 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py index 33c18f6d6..981e1e204 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py +++ b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py @@ -8,7 +8,7 @@ import re from sqlalchemy.dialects.mysql.base import (MySQLDialect, MySQLExecutionContext, MySQLCompiler, MySQLIdentifierPreparer, - BIT, NUMERIC, _NumericType) + BIT) from sqlalchemy.engine import base as engine_base, default from sqlalchemy.sql import operators as sql_operators @@ -28,15 +28,6 @@ class MySQLCompiler_mysqlconnector(MySQLCompiler): def post_process_text(self, text): return text.replace('%', '%%') -class _DecimalType(_NumericType): - def result_processor(self, dialect, coltype): - if self.asdecimal: - return None - return processors.to_float - -class _myconnpyNumeric(_DecimalType, NUMERIC): - pass - class MySQLIdentifierPreparer_mysqlconnector(MySQLIdentifierPreparer): def _escape_identifier(self, value): @@ -56,6 +47,8 @@ class MySQLDialect_mysqlconnector(MySQLDialect): supports_sane_rowcount = True supports_sane_multi_rowcount = True + supports_native_decimal = True + default_paramstyle = 'format' execution_ctx_cls = MySQLExecutionContext_mysqlconnector statement_compiler = MySQLCompiler_mysqlconnector @@ -65,7 +58,6 @@ class MySQLDialect_mysqlconnector(MySQLDialect): colspecs = util.update_copy( MySQLDialect.colspecs, { - sqltypes.Numeric: _myconnpyNumeric, BIT: _myconnpyBIT, } ) diff --git a/lib/sqlalchemy/dialects/mysql/mysqldb.py b/lib/sqlalchemy/dialects/mysql/mysqldb.py index 038e58a4c..9d34939a1 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqldb.py +++ b/lib/sqlalchemy/dialects/mysql/mysqldb.py @@ -20,11 +20,10 @@ strings, also pass ``use_unicode=0`` in the connection arguments:: create_engine('mysql:///mydb?charset=utf8&use_unicode=0') """ -import decimal import re -from sqlalchemy.dialects.mysql.base import (DECIMAL, MySQLDialect, MySQLExecutionContext, - MySQLCompiler, MySQLIdentifierPreparer, NUMERIC, _NumericType) +from sqlalchemy.dialects.mysql.base import (MySQLDialect, MySQLExecutionContext, + MySQLCompiler, MySQLIdentifierPreparer) 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 @@ -48,20 +47,6 @@ class MySQLCompiler_mysqldb(MySQLCompiler): return text.replace('%', '%%') -class _DecimalType(_NumericType): - def result_processor(self, dialect, coltype): - if self.asdecimal: - return None - return processors.to_float - - -class _MySQLdbNumeric(_DecimalType, NUMERIC): - pass - - -class _MySQLdbDecimal(_DecimalType, DECIMAL): - pass - class MySQLIdentifierPreparer_mysqldb(MySQLIdentifierPreparer): def _escape_identifier(self, value): @@ -74,6 +59,8 @@ class MySQLDialect_mysqldb(MySQLDialect): supports_sane_rowcount = True supports_sane_multi_rowcount = True + supports_native_decimal = True + default_paramstyle = 'format' execution_ctx_cls = MySQLExecutionContext_mysqldb statement_compiler = MySQLCompiler_mysqldb @@ -82,8 +69,6 @@ class MySQLDialect_mysqldb(MySQLDialect): colspecs = util.update_copy( MySQLDialect.colspecs, { - sqltypes.Numeric: _MySQLdbNumeric, - DECIMAL: _MySQLdbDecimal } ) diff --git a/lib/sqlalchemy/dialects/mysql/oursql.py b/lib/sqlalchemy/dialects/mysql/oursql.py index 605b39760..f26bc4da2 100644 --- a/lib/sqlalchemy/dialects/mysql/oursql.py +++ b/lib/sqlalchemy/dialects/mysql/oursql.py @@ -21,23 +21,16 @@ defaults to, there is a separate parameter:: create_engine('mysql+oursql:///mydb?charset=latin1') """ -import decimal import re from sqlalchemy.dialects.mysql.base import (BIT, MySQLDialect, MySQLExecutionContext, - MySQLCompiler, MySQLIdentifierPreparer, NUMERIC, _NumericType) + MySQLCompiler, MySQLIdentifierPreparer) 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 _oursqlNumeric(NUMERIC): - def result_processor(self, dialect, coltype): - if self.asdecimal: - return None - return processors.to_float - class _oursqlBIT(BIT): def result_processor(self, dialect, coltype): @@ -60,7 +53,9 @@ class MySQLDialect_oursql(MySQLDialect): supports_unicode_binds = True supports_unicode_statements = True # end Py2K - + + supports_native_decimal = True + supports_sane_rowcount = True supports_sane_multi_rowcount = True execution_ctx_cls = MySQLExecutionContext_oursql @@ -69,7 +64,6 @@ class MySQLDialect_oursql(MySQLDialect): MySQLDialect.colspecs, { sqltypes.Time: sqltypes.Time, - sqltypes.Numeric: _oursqlNumeric, BIT: _oursqlBIT, } ) |
