Re: Wrong aggregate result when sorting by a NULL value

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrew Gierth <andrew@tao11.riddles.org.uk>, Ondřej Bouda <obouda@email.cz>, pgsql-bugs@postgresql.org
Date: 2018-11-03T23:08:37Z
Lists: pgsql-bugs
Hi,

On 2018-11-03 15:27:09 -0700, Andres Freund wrote:
> On 2018-11-03 18:18:40 -0400, Tom Lane wrote:
> > Andres Freund <andres@anarazel.de> writes:
> > > And pushed. Thanks Ondřej for the report, thanks Tom & Andrew for
> > > identifying the issue.
> > 
> > Hm, buildfarm seems less than pleased.  Did you miss making a
> > corresponding change in the JIT code?
> 
> Hm, I'm somewhat confused, let me look into that. The JIT code shouldn't
> really need to be changed here - it's the *generation* of expression
> steps that's going wrong - which then later get turned into JITed code,
> but that part worked previously for other expressions.

Turns out it's not a great idea to generate EEOP_AGG_STRICT_INPUT_CHECK
expressions with nargs = 0. Head -> Desk.  Pushed a fix (+ new
assertion).

Thanks!

Andres Freund


Commits

  1. Fix unused-variable warning.

  2. Prevent generating EEOP_AGG_STRICT_INPUT_CHECK operations when nargs == 0.

  3. Fix STRICT check for strict aggregates with NULL ORDER BY columns.

  4. Expression evaluation based aggregate transition invocation.