]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Handle PostgreSQL enums in remote schemas
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 21 Dec 2018 16:04:14 +0000 (11:04 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 21 Dec 2018 18:53:23 +0000 (13:53 -0500)
commitae45db1bf87407539f2a0f718aa738f259b1b208
tree447317e3b324ef84f86059995a3e2ee8affe4d3a
parent2147d20ef43f980f77abd5d91b6a4965287894a4
Handle PostgreSQL enums in remote schemas

Fixed issue where a :class:`.postgresql.ENUM` or a custom domain present
in a remote schema would not be recognized within column reflection if
the name of the enum/domain or the name of the schema required quoting.
A new parsing scheme now fully parses out quoted or non-quoted tokens
including support for SQL-escaped quotes.

Fixed issue where multiple :class:`.postgresql.ENUM` objects referred to
by the same :class:`.MetaData` object would fail to be created if
multiple objects had the same name under different schema names.  The
internal memoization the Postgresql dialect uses to track if it has
created a particular :class:`.postgresql.ENUM` in the database during
a DDL creation sequence now takes schema name into account.

Fixes: #4416
Change-Id: I8cf03069e10b12f409e9b6796e24fc5850979955
(cherry picked from commit 0b0a4c8ba2465fce5fa1954a0d31b44840f1b4b8)
doc/build/changelog/unreleased_12/4416.rst [new file with mode: 0644]
lib/sqlalchemy/dialects/postgresql/base.py
lib/sqlalchemy/util/__init__.py
lib/sqlalchemy/util/langhelpers.py
test/base/test_utils.py
test/dialect/postgresql/test_reflection.py
test/dialect/postgresql/test_types.py