Обсуждение: moving aggregate bad error message

Поиск
Список
Период
Сортировка

moving aggregate bad error message

От
Jeff Janes
Дата:
I was wondering if I could just add minvfunc, and have the rest of the m* functions be assumed to be the same as their non-moving counterparts.  Apparently the answer is 'no'.  But in the process, I found a bad error message.  When omitting mfinalfunc when there is a finalfunc, I get the error:

"ERROR:  moving-aggregate implementation returns type jj_state, but plain implementation returns type jj_state."  A rather peculiar complaint, analogous to the infamous "something failed: Success".

Looking at the code, it seems we are testing rettype != finaltype, but reporting aggmTransType and aggTransType.  Why aren't we reporting what we are testing?

With the attached patch, it gives the more sensible "ERROR:  moving-aggregate implementation returns type jj_state, but plain implementation returns type numeric."

Cheers,

Jeff
Вложения

Re: moving aggregate bad error message

От
Tom Lane
Дата:
Jeff Janes <jeff.janes@gmail.com> writes:
> Looking at the code, it seems we are testing rettype != finaltype, but
> reporting aggmTransType and aggTransType.  Why aren't we reporting what we
> are testing?

Silly thinko, apparently.  Your fix looks right, will push.

            regards, tom lane