Re: [HACKERS] partial aggregation with internal state type

2017-06-09 Thread Tom Lane
Jeff Janes writes: > On Fri, Jun 9, 2017 at 9:06 AM, Tom Lane wrote: >> The issue is how to initialize the state value to begin with. > Why does it need to be initialized? initializing a NULL state upon first > use is already the job of sfunc. Right, but for partial aggregation the combinefunc

Re: [HACKERS] partial aggregation with internal state type

2017-06-09 Thread Jeff Janes
On Fri, Jun 9, 2017 at 9:06 AM, Tom Lane wrote: > Jeff Janes writes: > > The docs for creating aggregates for 9.6 and beyond say: > > "For aggregate functions whose state_data_type is internal, the > combinefunc > > must not be strict. In this case the combinefunc must ensure that null > > state

Re: [HACKERS] partial aggregation with internal state type

2017-06-09 Thread Tom Lane
Jeff Janes writes: > The docs for creating aggregates for 9.6 and beyond say: > "For aggregate functions whose state_data_type is internal, the combinefunc > must not be strict. In this case the combinefunc must ensure that null > states are handled correctly and that the state being returned is p