Re: [HACKERS] merging some features from plpgsql2 project

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: [HACKERS] merging some features from plpgsql2 project
Дата
Msg-id CAFj8pRAHT10vkjd2NkBtNTeeo82SYe5uAJXNA9ACM7Ciz-j12g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] merging some features from plpgsql2 project  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Список pgsql-hackers


2017-01-03 18:41 GMT+01:00 Jim Nasby <Jim.Nasby@bluetreble.com>:
On 1/3/17 11:19 AM, Pavel Stehule wrote:
            2) There's no way to incrementally change those values for a
        single
            function. If you've set extra_errors = 'all' globally, a single
            function can't say "turn off the too many rows setting for this
            function".


        We can enhance the GUC syntax like "all -too_many_rows,-xxx"


    Why create all that framework when we could just have multiple
    plpgsql.blah GUCs? plpgsql.multirow_assign_level=FATAL solves that
    problem. We just need a plpgsql GUC for each backwards compatibility
    break.

We have this framework already, so why don't use it.

We *don't* have a framework that works for this, because you can't incrementally modify extra_errors. Maybe extra_errors is an OK API for static checking, but it's definitely a BAD API for something you'd need to control at a function (or even statement) level.

I have different opinion then you - sure - it should not to change behave, it should to help with identification. And it is enough for this purpose.  


    If we never broke compatibility we'd still be allowing SELECT
    without FROM, NULL = NULL being TRUE, and a whole bunch of other
    problems. We'd also be stuck on protocol v1 (and of course not
    talking about what we want in v4).


This was in dark age - how much users of plpgsql was in 2000? Hard to
speak about Postgres as mature software in this era.

I don't know about you' but I've considered Postgres to be mature since at least 8.0, if not earlier. Actually, in many ways it was far more mature than other databases I was using in 2000 (let alone 2007).

    We've successfully made incompatible changes that were *far worse*
    than this (ie: renaming pg_stat_activity.procpid). Obviously we
    shouldn't be breaking things willy-nilly, but these are
    long-standing warts (dare I say BUGS?) that should be fixed. They're
    ugly enough that someone took the time to break plpgsql out of the
    core code and fork it.

We are not talk about features that can be simply marked as bugs, so
there is not too much what we should to fix it. We should to help to
users to identify some possible risk places.

You keep claiming that these aren't serious bugs, yet someone felt so strongly that they ARE serious bugs that they forked the entire PL.

Sorry, but it it is subjective - and there can be different opinions - some body would to prefer more rigidity, some other less rigidity. 
 

If you're not willing to even consider a compatibility break (with a means to get the old behavior back) then I don't think there's any point in continuing this thread, because some of these issues can NOT be reasonably solved by a checker.

yes, I don't would to consider about a compatibility break. I accept so you have different opinion. 

I'll send this patch + doc to next commitfest - and depends on commiters if the patch will be rejected or not. I know so it should not be fully  fixed, but it is step forward from my perspective.

Thank you for discussion

Regards

Pavel
 

--
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)

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] [COMMITTERS] pgsql: Update copyright for 2017
Следующее
От: Fabien COELHO
Дата:
Сообщение: Re: [HACKERS] proposal: session server side variables