On Tue, May 5, 2015 at 10:20 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:

> Alvaro Herrera <alvhe...@2ndquadrant.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​

Reply via email to