Re: pg_config wrongly marked as not parallel safe? - Mailing list pgsql-hackers

From Robert Haas
Subject Re: pg_config wrongly marked as not parallel safe?
Date
Msg-id CA+TgmoZHW8kUQ+GyMqCGOBWQ4CMrCn1MHfbS4Y5aJSqY76WrVg@mail.gmail.com
Whole thread Raw
In response to Re: pg_config wrongly marked as not parallel safe?  (Stephen Frost <sfrost@snowman.net>)
Responses Re: pg_config wrongly marked as not parallel safe?
Re: pg_config wrongly marked as not parallel safe?
List pgsql-hackers
On Thu, Nov 29, 2018 at 4:01 PM Stephen Frost <sfrost@snowman.net> wrote:
> * Robert Haas (robertmhaas@gmail.com) wrote:
> > On Thu, Nov 29, 2018 at 3:50 PM Stephen Frost <sfrost@snowman.net> wrote:
> > > I'd suggest you read through the rest of the thread and see my response
> > > to Tom.
> >
> > I already did that.
>
> Great, then it's unclear, to me at least, what you're getting at in your
> response here.

Well, I don't think it was particularly unclear.  You seem to be
attacking Kyotaro-san's position when, in my opinion, he's correct and
you are wrong.  It looks to me like Tom said more or less the same
thing that Kyotaro-san did, just in different words, and you partially
agreed with him, so I don't really know what's going on here, either.

> Just to be clear as to which I was referring to, what I said there was
> that I felt the way we've been operating is striking a good balance and
> that my concern on this thread was that people appeared to be trying to
> move us away from that.  Today, at least, I feel like we are careful and
> that we consider the impact on indexes when we're making changes to
> immutable functions, and that when we do make such changes, they're for
> very good reasons and that we make a note of them in release notes and
> possibly go farther, such as considering if we could check for their
> usage during pg_upgrade.
>
> Do you feel that's overly aggressive and that we shouldn't care about
> the impact of changing immutable functions that could be used in indexes
> across major versions?  I don't get the impression that you do from your
> prior response, but then it doesn't square with the later comments about
> how I'm being carried away and trying to take some principled stand
> against evil, so I admit to being confused.

Generally, I think Andres is wrong to argue that immutability
shouldn't mean *anything* across major versions.  If we can readily
foresee that something is going to change in the future, then we
shouldn't mark it immutable. However:

1. Andres agrees that pg_config() should be marked stable, not
immutable.  If we agree about how the functions we ACTUALLY HAVE
should be marked, it may not be 100% necessary to go on arguing about
what we should do in hypothetical cases.

2. I do not believe that the fact that we have marked something
immutable bars us from changing the behavior of that thing in a new
major release if we decide we don't like the old behavior, as in the
hypothetical 1 + 1 = 3 example I gave before, or the geometric type
behavior Kyotaro-san mentioned, or the ftoi4(INT_MAX) case Tom
mentioned.

2a. Also, while I believe that such changes should be release-noted
like all other changes, I'm not sure we need to do any more than that
unless the change is something that's likely to bite a lot of people.
Since we are unlikely to get 1 + 1 wrong, most of the actual cases
where this sort of thing comes up are going to be corner cases, and
for many users a reindex will be unnecessary even if they pg_upgrade.
 If we make a change that we can foresee is going to cause widespread
breakage, then more vigorous action is appropriate.  *Maybe* it would
be a good idea to somehow mark in the release notes all changes that
might theoretically require a reindex ... but I'm not volunteering to
do the work.

In short, I don't see that there has been any big problem here in the
past, and I don't see anyone making a proposal that would cause a big
problem in the future. There is some mild disagreement about certain
hypothetical situations and corner cases.

Peace,

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Adrien Nayrat
Date:
Subject: Re: New GUC to sample log queries
Next
From: David Rowley
Date:
Subject: Re: PostgreSQL Limits and lack of documentation about them.