Re: Fixing busted citext function declarations

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, "David E(dot) Wheeler" <david(at)justatheory(dot)com>
Subject: Re: Fixing busted citext function declarations
Date: 2015-05-05 17:56:19
Message-ID: CAKFQuwbx+CkoWnXSDwK_Z4erzvV0Da0Vbhwx0o4P6t=Kdf+Jyg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 5, 2015 at 10:20 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> > (I think it is possible that the behavior change is actually problematic
> > as opposed to just behaving differently. For instance, if the function
> > is used in a subselect that's expected to return only one row, and it
> > suddenly starts returning more, the query would raise an error. Seems
> > better to err on the side of caution.)
>
> Yeah. Also, I realized from the citext regression tests that there's a
> behavioral change even if you *don't* use the 'g' flag: the previous
> behavior was to return a null on no match, but now you get zero rows out
> instead. That's a fairly significant change.
>
> > I think we should keep the 1.0 version this time, in back branches.
>
> Agreed. Maybe we shouldn't even make 1.1 the default in the back
> branches.
>
>
​Does 9.0 get different treatment?​

If (I'm not sure this is the case - or must be...) a pg_dump/pg_restore
sequence against a back-branch database installs the default version of the
extension for that PostgreSQL version I would agree; and, to clarify, we
would still provide the ability to upgrade to citext-1.1 in back-branches.

Alvaro >> and it (1.0) wouldn't be provided in the master branch

Why wouldn't it? The whole point of versioning is to mark a release as
stable/immutable and therefore eliminate any maintenance burden by simply
refusing to maintain it. There is no maintainability reason to avoid
shipping the previous versions that I can think of if the extension
infrastructure works as advertised.

Is there anywhere besides the source code that a user can read how
extensions and pg_dump/pg_restore inter-operate in this manner? Neither
pg_dump/restore nor CREATE EXTENSION cover the topic and there isn't a
chapter called "upgrading" that would be a nice place to put such
information...

David J​

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-05-05 18:01:41 Re: Fixing busted citext function declarations
Previous Message Andres Freund 2015-05-05 17:31:46 Re: INSERT ... ON CONFLICT UPDATE/IGNORE 4.0