Re: [GENERAL] aggregate returning anyarray and 'cannot determine result data type'

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема Re: [GENERAL] aggregate returning anyarray and 'cannot determine result data type'
Дата
Msg-id 535C15ED.2050102@fuzzy.cz
обсуждение исходный текст
Ответ на Re: [GENERAL] aggregate returning anyarray and 'cannot determine result data type'  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [GENERAL] aggregate returning anyarray and 'cannot determine result data type'  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 25.4.2014 23:26, Tom Lane wrote:
> Tomas Vondra <tv@fuzzy.cz> writes:
>> On 23.4.2014 16:07, Tom Lane wrote:
>>> To be concrete: let's add a new boolean parameter with the 
>>> semantics of "final function takes extra dummy arguments" 
>>> (default false). There would need to be one for the separate 
>>> moving-aggregate final function too, of course.
> 
>> Do we really need a separate parameter for this? Couldn't this be 
>> decided simply using the signature of the final function? Either
>> it has a single parameter (current behavior), or it has the same 
>> parameters as the state transition function (new behavior).
> 
> The problem is that the CREATE AGGREGATE syntax only specifies the 
> name of the final function, not its argument list, so you have to 
> make an assumption about the argument list in order to look up the 
> final function in the first place.
> 
> I did consider the idea of looking for both signatures and using 
> whatever we find, but that seems fairly dangerous: the same CREATE 
> AGGREGATE command could give different results depending on what 
> versions of the final function happen to exist. This would create an 
> ordering hazard that pg_dump could not reliably cope with, for 
> example.

Yeah. And it wouldn't be clear which function to use in case two
suitable functions (with different signatures) exist. So I guess this
actually requires a parameter.

I'd vote for "finalfunc_extra" - can't think of a better name, and I'm
not sure what the "m" in "mfinalfunc_extra" stands for.

regards
Tomas



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Decrease MAX_BACKENDS to 2^16
Следующее
От: Noah Misch
Дата:
Сообщение: Re: Decrease MAX_BACKENDS to 2^16