Re: BUG #18277: Unexpected error: "WindowFunc not found in subplan target lists" triggered by JOIN and Window Func

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Richard Guo <guofenglinux@gmail.com>
Cc: David Rowley <dgrowleyml@gmail.com>, zuming.jiang@inf.ethz.ch, pgsql-bugs@lists.postgresql.org
Date: 2024-01-09T21:34:31Z
Lists: pgsql-bugs
Richard Guo <guofenglinux@gmail.com> writes:
> On Tue, Jan 9, 2024 at 7:00 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> PG Bug reporting form <noreply@postgresql.org> writes:
>>> My fuzzer finds a bug in Postgres 17devel, which triggers an unexpected
>>> error "ERROR: WindowFunc not found in subplan target lists".

> I think this is caused by that query_tree_mutator fails to mutate
> runCondition for WindowClause.

Ugh!  That seems quite horrid.  David, was there a reason to not do
that, or was it just an oversight?

> I think we should also consider WindowClause->runCondition in
> query_tree_walker, expression_tree_mutator and expression_tree_walker.

Offhand, +1.  If it has the form of an ordinary expression tree
then it really needs to be processed in all these places.

			regards, tom lane



Commits

  1. Handle WindowClause.runCondition in tree walker/mutator functions.

  2. Make dblink interruptible, via new libpqsrv APIs.

  3. Make Vars be outer-join-aware.