diff options
author | Federico Caselli <cfederico87@gmail.com> | 2020-03-14 14:02:44 +0100 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-03-21 17:03:45 -0400 |
commit | 9ec75882203b2c01aa1d362f939e21ebcd188e8d (patch) | |
tree | 343d9e368f12f839c2c737cc05d1f5e7bc615536 /lib/sqlalchemy/dialects/mysql/pyodbc.py | |
parent | 376708f4a4958bf2559c14900c52aa6fc7fd05b3 (diff) | |
download | sqlalchemy-9ec75882203b2c01aa1d362f939e21ebcd188e8d.tar.gz |
Deprecate plain string in execute and introduce `exec_driver_sql`
Execution of literal sql string is deprecated in the
:meth:`.Connection.execute` and a warning is raised when used stating
that it will be coerced to :func:`.text` in a future release.
To execute a raw sql string the new connection method
:meth:`.Connection.exec_driver_sql` was added, that will retain the previous
behavior, passing the string to the DBAPI driver unchanged.
Usage of scalar or tuple positional parameters in :meth:`.Connection.execute`
is also deprecated.
Fixes: #4848
Fixes: #5178
Change-Id: I2830181054327996d594f7f0d59c157d477c3aa9
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql/pyodbc.py')
-rw-r--r-- | lib/sqlalchemy/dialects/mysql/pyodbc.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/pyodbc.py b/lib/sqlalchemy/dialects/mysql/pyodbc.py index eb62e6425..5a696562e 100644 --- a/lib/sqlalchemy/dialects/mysql/pyodbc.py +++ b/lib/sqlalchemy/dialects/mysql/pyodbc.py @@ -87,7 +87,9 @@ class MySQLDialect_pyodbc(PyODBCConnector, MySQLDialect): # # If it's decided that issuing that sort of SQL leaves you SOL, then # this can prefer the driver value. - rs = connection.execute("SHOW VARIABLES LIKE 'character_set%%'") + rs = connection.exec_driver_sql( + "SHOW VARIABLES LIKE 'character_set%%'" + ) opts = {row[0]: row[1] for row in self._compat_fetchall(rs)} for key in ("character_set_connection", "character_set"): if opts.get(key, None): |