Re: BUG #17777: An assert failed in nodeWindowAgg.c

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, xinwen(at)stu(dot)scu(dot)edu(dot)cn, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17777: An assert failed in nodeWindowAgg.c
Date: 2023-02-13 00:55:37
Message-ID: 988099.1676249737@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

David Rowley <dgrowleyml(at)gmail(dot)com> writes:
> On Mon, 13 Feb 2023 at 05:19, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Why is it okay to check only the filter, and not the rest of the
>> WindowFunc's subexpressions? The arguments we've just run through
>> seem to apply to a subplan in the direct or aggregated arguments
>> as well.

> Good point. I had just been thinking in terms of the reported bug to
> make sure we inverse transition the same rows we transition. We also
> need to make sure the transition value matches in both transition
> directions.
> I've adjusted the patch accordingly.

Code looks good now, but the comment still claims this is only
important in the FILTER clause. I'd rewrite the whole thing
perhaps:

* We also don't risk using moving aggregates when there are subplans
* in the arguments or FILTER clause. This is partly because
* contain_volatile_functions() doesn't look inside subplans; but
* there are other reasons why a subplan's output might be volatile.
* For example, syncscan mode can render the results nonrepeatable.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2023-02-13 01:58:49 Re: BUG #17760: SCRAM authentication fails with "modern" (rsassaPss signature) server certificate
Previous Message Andres Freund 2023-02-13 00:46:33 Re: BUG #17777: An assert failed in nodeWindowAgg.c