Caleb Welton [EMAIL PROTECTED] writes:
Forgive me if I'm being dense, but could you explain why
int4_sum(bigint,int) must not be strict, but
int4_avg_accum(bytea, int) can be strict?
The former is used with a NULL initial value, the latter isn't.
Read the fine print in the CREATE AGGREGATE
Thanks Tom,
Forgive me if I'm being dense, but could you explain why
int4_sum(bigint,int) must not be strict, but
int4_avg_accum(bytea, int) can be strict?
It seems that both of them have transition datatypes that are different from
the input.
-Caleb
On 1/28/08 7:31 PM, Tom Lane [EMAIL
Is there any reason that int2_sum, int4_sum, and int8_sum are not marked as
being strict? All the other transition functions for sum, and every other
built in aggregation function is marked as strict, as demonstrated with:
select x.proname, t.proname, t.proisstrict
from ((pg_aggregate a left
Caleb Welton [EMAIL PROTECTED] writes:
Is there any reason that int2_sum, int4_sum, and int8_sum are not marked as
being strict?
They wouldn't work otherwise, because the transition datatypes aren't
the same as the inputs.
regards, tom lane