From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, jgd(at)well(dot)com |
Subject: | Re: bugfix - VIP: variadic function ignore strict flag |
Date: | 2010-02-09 16:46:27 |
Message-ID: | 162867791002090846u4c0f92adu31f9968064f9578c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2010/2/9 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
> Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
>> + /*
>> + * If function has variadic argument, skip calling
>> + * when variadic array contains NULL values.
>> + */
>
> I don't think this is right at all. The strict check ought to apply to
> the array argument as a whole.
yes, this isn't clear. My arguments for change:
a) the behave depends on types - "any" is different than others.
b) optimization over fmgr doesn't work now.
b1. some possible const null and strict are ignored
b2. array is non const always - so pre eval doesn't work for variadic
c) it could be confusing, and it is partially confusing.
point c could be solved by notice in documentation. But a and b are
problem. The variadic funcall cannot be optimized :(
Regards
Pavel Stehule
>
> regards, tom lane
>
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2010-02-09 16:51:16 | Re: Streaming replication in docs |
Previous Message | Robert Haas | 2010-02-09 16:43:52 | Re: Avoiding bad prepared-statement plans. |