Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re: Should array_length() Return NULL)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Brendan Jurd <direvus(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re: Should array_length() Return NULL)
Date: 2013-03-26 04:49:10
Message-ID: 29654.1364273350@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> On Mon, Mar 25, 2013 at 10:14:15AM -0700, Josh Berkus wrote:
>>> No, it *isn't* a good idea. GUCs that change application-visible
>>> semantics are dangerous. We should have learned this lesson by now.

>> Really? I thought that standard_conforming_strings was a great example
>> of how to ease our users into a backwards-compatibility break. My
>> thought was that we change the behavior in 9.4, provide a
>> backwards-compatible GUC with warnings in the logs for two versions, and
>> then take the GUC away.

> standard_conforming_strings is not a good example because it took 5+
> years to implement the change, and issued warnings about non-standard
> use for several releases --- it is not a pattern to follow.

s_c_s was an example of the worst possible case: where the behavioral
change not merely breaks applications, but breaks them in a way that
creates easily-exploitable security holes. We *had* to take that one
really slow, and issue warnings for several years beforehand (and IIRC,
there were still gripes from people who complained that we'd caused them
security problems). I can't imagine that we'd go to that kind of
trouble for any less-sensitive behavioral change.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2013-03-26 07:31:10 Ideas for improving Concurrency Tests
Previous Message Tom Lane 2013-03-26 04:40:25 Re: pg_upgrade segfaults when given an invalid PGSERVICE value