Dean Rasheed <dean.a.rasheed@gmail.com> writes:
> On 10 April 2014 19:54, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> So if we go with that terminology, perhaps these names for the
>> new CREATE AGGREGATE parameters:
>>
>> initfunc applies to plain aggregation, mutually exclusive with initcond
>> msfunc (or just mfunc?) forward transition for moving-agg mode
>> mifunc inverse transition for moving-agg mode
>> mstype state datatype for moving-agg mode
>> msspace space estimate for mstype
>> mfinalfunc final function for moving-agg mode
>> minitfunc "firsttrans" for moving-agg mode
>> minitcond mutually exclusive with minitfunc
> Yeah, those work for me.
> I think I prefer "mfunc" to "msfunc", but perhaps that's just my
> natural aversion to the "ms" prefix :-)
Meh. We've got mstype, and I don't think leaving out the "s" there
feels right.
> Also, perhaps "minvfunc" rather than "mifunc" because "i" by itself
> could mean "initial".
Good point. So with initfuncs out of the picture, we have
new CREATE AGGREGATE parameter names
msfunc forward transition for moving-agg mode
minvfunc inverse transition for moving-agg mode
mfinalfunc final function for moving-agg mode
mstype state datatype for moving-agg mode
msspace space estimate for mstype
minitcond initial state value for moving-agg mode
and new pg_aggregate columns
aggmtransfn | regproc | not null
aggminvtransfn | regproc | not null
aggmfinalfn | regproc | not null
aggmtranstype | oid | not null
aggmtransspace | integer | not null
aggminitval | text |
It's a bit unfortunate that the catalog column names aren't quite on
the same page as CREATE AGGREGATE, but it doesn't seem like a good
idea to try to fix that now.
regards, tom lane