2017-01-08 3:27 GMT+01:00 Jim Nasby <jim.na...@bluetreble.com>:

> On 1/5/17 11:36 AM, Merlin Moncure wrote:
>> The C language really should be considered the gold standard here.
>> Changes did have to be made, like getting rid of the notoriously
>> broken and insecure gets(), but they were made very, very slowly and
>> unobtrusively.
> For those not familiar... how did they accomplish that?
> I'm certainly fine with changes being made very slowly. We carried the
> missing_From GUC around for like a decade before ditching it. We have other
> GUCs that have defaulted to not allowing silly behavior for a long time as
> well. We might well need to leave the default for compatibility GUCs set to
> current behavior for several more releases, to allow people to start
> specifying which behavior they want.
> I agree with Robert that there needs to be consensus that a change needs
> to be made, but frankly I think 50% of this thread was people disagreeing
> with *ANY* change that would be incompatible. IMHO that's a ridiculous
> position that does not match expectations outside of plpgsql. That kind of
> expectation means we have absolutely no way of fixing past mistakes.

> Certainly, there also needs to be agreement on what the new behavior
> should be, but again, what I observed was an adamant insistence that
> absolutely no break would be permitted.

> As for using GUCs for these changes and that impact on extensions, I don't
> see why that won't work for what we're discussing here. In a worst-case
> scenario, extension authors would need to specify what behavior they wanted
> in their extensions instead of blindly accepting the default, by making
> sure those options were set for each function they defined. While it would
> certainly be nice to avoid that extra work, all the necessary
> infrastructure to handle that is already in place. And if we wanted to
> avoid that hassle, we could allow custom GUC settings on extensions, like
> we currently do for roles and databases.

The discussion related to plpgsql2, future development of plpgsql has more
levels, topics

1. incompatible changes - INTO, INTO STRICT, FOUND - there is a agreement
so current behave is not ideal for all cases, but there is not a agreement
so it broken and should be "fixed" - GUC doesn't helps here.

2. new features - the question was "how much we would to move PL/pgSQL from
verbose Ada language to different place - convention against configuration
principle", and what (if) conventions should be default.  GUC can partially

I still hope so there is some space for finding a partial agreement - and
we can do some evolution steps forward.

I would not to use GUC like "We cannot to find a agreement, so we use GUC
and somebody will use this feature, some one not" - it is not way how to do
things better long time.

Jim, Marko, Joel - is there a place, features where we can find a partial
agreement? If it is, then we can move our view there.



> --
> Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
> Experts in Analytics, Data Architecture and PostgreSQL
> Data in Trouble? Get it in Treble! http://BlueTreble.com
> 855-TREBLE2 (855-873-2532)

Reply via email to