diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-02-08 11:58:15 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-02-08 13:14:52 -0500 |
commit | c0521e6f0688b794048e44ff3df429249a093b72 (patch) | |
tree | d509123bb03c6e938952c4eb6444fd00d5edbc67 /lib/sqlalchemy/dialects/mysql | |
parent | 80010c63149be411e89c7434a9d52096f9de56b8 (diff) | |
download | sqlalchemy-c0521e6f0688b794048e44ff3df429249a093b72.tar.gz |
Add identifier_preparer per-execution context for schema translates
Fixed bug where the "schema_translate_map" feature failed to be taken into
account for the use case of direct execution of
:class:`_schema.DefaultGenerator` objects such as sequences, which included
the case where they were "pre-executed" in order to generate primary key
values when implicit_returning was disabled.
Fixes: #5929
Change-Id: I3fed1d0af28be5ce9c9bb572524dcc8411633f60
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql')
-rw-r--r-- | lib/sqlalchemy/dialects/mysql/base.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index 063f750fa..c80ff3f19 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -988,9 +988,13 @@ from ...types import BLOB from ...types import BOOLEAN from ...types import DATE from ...types import VARBINARY +from ...util import compat from ...util import topological +if compat.TYPE_CHECKING: + from typing import Any + RESERVED_WORDS = set( [ "accessible", @@ -1394,7 +1398,7 @@ class MySQLExecutionContext(default.DefaultExecutionContext): return self._execute_scalar( ( "select nextval(%s)" - % self.dialect.identifier_preparer.format_sequence(seq) + % self.identifier_preparer.format_sequence(seq) ), type_, ) @@ -3263,6 +3267,7 @@ class MySQLDialect(default.DefaultDialect): return parser.parse(sql, charset) def _detect_charset(self, connection): + # type: (Any) -> str raise NotImplementedError() def _detect_casing(self, connection): |