From: Mike Bayer Date: Thu, 1 Sep 2016 13:34:33 +0000 (-0400) Subject: Support all MySQL/Connector int/bool arguments X-Git-Tag: rel_1_1_0~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16dcc8bec1218835590766f0cb2a019a1b30e340;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Support all MySQL/Connector int/bool arguments Added support for parsing MySQL/Connector boolean and integer arguments within the URL query string: connection_timeout, connect_timeout, pool_size, get_warnings, raise_on_warnings, raw, consume_results, ssl_verify_cert, force_ipv6, pool_reset_session, compress, allow_local_infile, use_pure. Change-Id: I2a1a17d13d47d56871bff32e94fdbed8bc003ad7 Fixes: #3787 --- diff --git a/doc/build/changelog/changelog_10.rst b/doc/build/changelog/changelog_10.rst index c26109aae6..2e5065978b 100644 --- a/doc/build/changelog/changelog_10.rst +++ b/doc/build/changelog/changelog_10.rst @@ -18,6 +18,17 @@ .. changelog:: :version: 1.0.15 + .. change:: + :tags: bug, mysql + :tickets: 3787 + :versions: 1.1.0 + + Added support for parsing MySQL/Connector boolean and integer + arguments within the URL query string: connection_timeout, + connect_timeout, pool_size, get_warnings, + raise_on_warnings, raw, consume_results, ssl_verify_cert, force_ipv6, + pool_reset_session, compress, allow_local_infile, use_pure. + .. change:: :tags: bug, orm :tickets: 3773, 3774 diff --git a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py index 8fe6a91823..4920bd60c4 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqlconnector.py +++ b/lib/sqlalchemy/dialects/mysql/mysqlconnector.py @@ -112,8 +112,22 @@ class MySQLDialect_mysqlconnector(MySQLDialect): opts.update(url.query) + util.coerce_kw_type(opts, 'allow_local_infile', bool) + util.coerce_kw_type(opts, 'autocommit', bool) util.coerce_kw_type(opts, 'buffered', bool) + util.coerce_kw_type(opts, 'compress', bool) + util.coerce_kw_type(opts, 'connection_timeout', int) + util.coerce_kw_type(opts, 'connect_timeout', int) + util.coerce_kw_type(opts, 'consume_results', bool) + util.coerce_kw_type(opts, 'force_ipv6', bool) + util.coerce_kw_type(opts, 'get_warnings', bool) + util.coerce_kw_type(opts, 'pool_reset_session', bool) + util.coerce_kw_type(opts, 'pool_size', int) util.coerce_kw_type(opts, 'raise_on_warnings', bool) + util.coerce_kw_type(opts, 'raw', bool) + util.coerce_kw_type(opts, 'ssl_verify_cert', bool) + util.coerce_kw_type(opts, 'use_pure', bool) + util.coerce_kw_type(opts, 'use_unicode', bool) # unfortunately, MySQL/connector python refuses to release a # cursor without reading fully, so non-buffered isn't an option