pg.ddx.io pgsql-bugs@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David E. Wheeler <david@justatheory.com>
Cc: Christophe Pettus <christophe.pettus@pgexperts.com>
Cc: pgsql-bugs@postgresql.org
Cc: pgsql-hackers@postgresql.org
Subject: Re: BUG #14825: enum type: unsafe use?
Date: Tue, 26 Sep 2017 15:33:03 -0400
Message-ID: <38835cdd-c378-8d7a-013b-fd733c78c649@2ndQuadrant.com> (raw )
In-Reply-To: <329.1506451066@sss.pgh.pa.us >
References: <20170922185904.1448.16585@wrigleys.postgresql.org >
<f29e2d7e-7d71-b3b7-2fed-d52bddd8ca61@2ndQuadrant.com >
<24380.1506179805@sss.pgh.pa.us >
<16272.1506189656@sss.pgh.pa.us >
<928f5974-151f-0273-0221-fac213e7624f@2ndQuadrant.com >
<19137.1506196325@sss.pgh.pa.us >
<4942e2c0-3302-f496-d4c1-a967f77d0143@2ndQuadrant.com >
<25662.1506204381@sss.pgh.pa.us >
<9479302a-09b8-4264-f9c4-514b65f18547@2ndQuadrant.com >
<18127.1506285450@sss.pgh.pa.us >
<2770f70a-5977-3fa1-1065-11b4cc69f07f@2ndQuadrant.com >
<23438.1506294409@sss.pgh.pa.us >
<a9a175c3-164b-6997-8b97-c04d1c2df753@2ndQuadrant.com >
<25809.1506348877@sss.pgh.pa.us >
<b2890b9d-2383-955f-786c-8e252dce04cb@2ndQuadrant.com >
<27064.1506350579@sss.pgh.pa.us >
<5f4f29bf-90b1-e49a-6cf9-069c59bc1067@2ndQuadrant.com >
<40FDB1F3-932D-4912-B4C7-F1E26E331079@justatheory.com >
<7ca5214d-f981-54e4-c65a-470a87aa665e@2ndQuad! ! ! rant.com >
<1090.1506365074@sss.pgh.pa.us >
<9666.1506446327@sss.pgh.pa.us >
<329.1506451066@sss.pgh.pa.us >
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-bugs>
On 09/26/2017 02:37 PM, Tom Lane wrote:
> I wrote:
>> Pushed; sorry for the delay.
> ... and the buildfarm's not too happy. It looks like force_parallel_mode
> breaks all the regression test cases around unsafe enums; which on
> reflection is unsurprising, because parallel workers will not have access
> to the parent's blacklist hash, so they will think unsafe values are safe.
>
> Now, as long as parallel workers are read-only, perhaps this matters
> little; they would not be allowed to write unsafe values into tables
> anyway. I'm concerned though about whether it might be possible for a
> parallel worker to return an unsafe value to the parent (in OID form)
> and then the parent writes it into a table. If we can convince ourselves
> that's not possible, it might be okay to just turn off force_parallel_mode
> for these test cases.
>
> A safer answer would be to mark enum_in() and other callers of
> check_safe_enum_use() as parallel-restricted. That'd require a
> post-RC1 catversion bump, which seems pretty unpleasant, but
> none of the other answers are nice either.
>
> Transmitting the blacklist hash to workers would be a good long-term
> answer, but I don't want to try to shoehorn it in for v10.
>
> Another idea is that maybe the existence of a blacklist hash should
> be enough to turn off parallel mode altogether ... but ugh.
>
> Or maybe we're back to "revert the whole feature, go back to 9.6
> behavior".
>
> Thoughts?
I think I would mark enum_in and friends as parallel-restricted. Yes I
know it would involve a cat version bump, so I'll understand if that's
not acceptable, but it seems to me the best of a bad bunch of choices.
Second choice might be turning off parallel mode if the hash exists, but
I'm unclear how that would work.
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
view thread (48+ messages) latest in thread
Message-ID: <38835cdd-c378-8d7a-013b-fd733c78c649@2ndQuadrant.com>
Permalink: ../38835cdd-c378-8d7a-013b-fd733c78c649@2ndQuadrant.com/
Also on: postgresql.org/message-id/38835cdd-c378-8d7a-013b-fd733c78c649@2ndQuadrant.com
copy link · copy postgr.es
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: andrew.dunstan@2ndquadrant.com, tgl@sss.pgh.pa.us, david@justatheory.com, christophe.pettus@pgexperts.com, pgsql-hackers@postgresql.org
Subject: Re: BUG #14825: enum type: unsafe use?
In-Reply-To: <38835cdd-c378-8d7a-013b-fd733c78c649@2ndQuadrant.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox