diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-10-17 00:22:38 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-10-17 12:13:01 -0400 |
| commit | 8ef4f6a53864ce9c57c4879d6b2aa0f81ddbf596 (patch) | |
| tree | 69575ef2f444ca2c9818956a6b0c561c0c55a6d0 /doc | |
| parent | c02675b407b8326643b559770d6d9686b880c113 (diff) | |
| download | sqlalchemy-8ef4f6a53864ce9c57c4879d6b2aa0f81ddbf596.tar.gz | |
Add explicit copy() to Enum
The Boolean and Enum types both place SchemaType second in the
inheritance hierarchy. In the case of Enum, this works
out that the copy() method is called from the base TypeEngine
which fails to transfer _create_events. The test suite
doesn't seem to work with the inhertance hierarchy set up like
this as the event listeners don't work out, the _on_metadata_create
and _on_table_create hooks cause the production of an adapted type
which then adds event listeners that cause deque changed while
iteration. It's not clear why Enum /Boolean don't have this problem.
But in any case it seems like the class mechanics for these types
remains fragile and would benefit from yet another refactor someday.
Change-Id: Ib641a5d2321b00f58bbe98dd0c5e789374db32b2
Fixes: #3827
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/build/changelog/changelog_11.rst | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/build/changelog/changelog_11.rst b/doc/build/changelog/changelog_11.rst index 45d98aa22..11d49d7a7 100644 --- a/doc/build/changelog/changelog_11.rst +++ b/doc/build/changelog/changelog_11.rst @@ -51,6 +51,19 @@ paths, the "present" column loader will now override the deferred non- load for that entity regardless of row ordering. + .. change:: + :tags: bug, sql, postgresql + :tickets: 3827 + + Fixed regression in :class:`.Enum` type where event handlers were not + transferred in the case of the type object being copied, due to a + conflicting copy() method added as part of [ticket:3250]. This copy + occurs normally in situations when the column is copied, such as + in tometadata() or when using declarative mixins with columns. The + event handler not being present would impact the constraint being + created for a non-native enumerated type, but more critically the + ENUM object on the PostgreSQL backend. + .. changelog:: :version: 1.1.1 :released: October 7, 2016 |
