From: Tom Lane <tgl@sss.pgh.pa.us>
To: David Rowley <dgrowleyml@gmail.com>
Cc: xinwen@stu.scu.edu.cn
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #17826: An assert failed in /src/backend/optimizer/util/var.c
Date: Sun, 12 Mar 2023 17:43:55 -0400
Message-ID: <1616392.1678657435@sss.pgh.pa.us> (raw)
In-Reply-To: <CAApHDvoaExj=YiOJ4PpbshPnOV5d95HQAGJeh44HPQW6Nns-8A@mail.gmail.com>
References: <17826-7d8750952f19a5f5@postgresql.org>
<402866.1678378153@sss.pgh.pa.us>
<CAApHDvoGAu9rY4iO0R+DZVxPck_M3015WUL_34XOhi9ygxYfnA@mail.gmail.com>
<1229467.1678555436@sss.pgh.pa.us>
<CAApHDvoaExj=YiOJ4PpbshPnOV5d95HQAGJeh44HPQW6Nns-8A@mail.gmail.com>
David Rowley <dgrowleyml@gmail.com> writes:
> It is only possible to either leave such quals in the outer query in
> the WHERE clause or make them run conditions of some WindowClause in
> the subquery. They can never be legally in the WHERE clause of the
> subquery as window functions cannot be evaluated in the WHERE clause.
Ah, got it. So basically, the quals that we want are excluded by
check_output_expressions' point 4 (since they reference window
function output columns rather than partitioning columns). I think
we need them to satisfy every other property that's checked in this
code, though. Now I agree that we need to refactor a bit -- we
don't want to have to re-check all of these conditions.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: tgl@sss.pgh.pa.us, dgrowleyml@gmail.com, xinwen@stu.scu.edu.cn, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #17826: An assert failed in /src/backend/optimizer/util/var.c
In-Reply-To: <1616392.1678657435@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox