Re: [HACKERS] [BUGS] BUG #14825: enum type: unsafe use?

Thomas Munro <thomas.munro@enterprisedb.com>

From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, Stephen Frost <sfrost@snowman.net>, Bruce Momjian <bruce@momjian.us>, "David E. Wheeler" <david@justatheory.com>, Christophe Pettus <christophe.pettus@pgexperts.com>, PostgreSQL Bugs <pgsql-bugs@postgresql.org>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-08T16:01:09Z
Lists: pgsql-bugs, pgsql-hackers

Attachments

On Thu, Jan 11, 2018 at 3:01 PM Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
> So I agree with Tom's suggestion:
>
> On Wed, Oct 4, 2017 at 2:29 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Perhaps serialize the contents into an array in DSM, then rebuild a hash
> > table from that in the worker.  Robert might have a better idea though.
>
> I'd happily volunteer to write or review a patch to do that.  Is there
> a rebase of the stuff that got reverted, to build on?

Here is a draft patch showing the approach discussed for transmitting
enum_blacklist in parallel workers.  This should be useful for
reviving the code reverted by 93a1af0b.

--
Thomas Munro
http://www.enterprisedb.com

Commits

  1. Revert to 9.6 treatment of ALTER TYPE enumtype ADD VALUE.

  2. Remove heuristic same-transaction test from check_safe_enum_use().

  3. Use a blacklist to distinguish original from add-on enum values.

  4. Add support for coordinating record typmods among parallel workers.