Re: BUG #17700: An assert failed in prepjointree.c

Richard Guo <guofenglinux@gmail.com>

From: Richard Guo <guofenglinux@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Daniel Gustafsson <daniel@yesql.se>, xinwen@stu.scu.edu.cn, pgsql-bugs@lists.postgresql.org
Date: 2022-11-29T00:12:16Z
Lists: pgsql-bugs
On Tue, Nov 29, 2022 at 12:22 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Actually ... it seems like we could just drop that Assert, as per
> revised argument in the comment.  This'd explain the lack of field
> complaints: there's no bug in a production build.


Ah yes, that's right.  We can be sure that above the semijoin there
would be no reference to its RHS.  And the PHV in semijoin's qual seems
unnecessary.

This reminds me of another question I had about unwrapping unnecessary
PHVs [1].  Sad that we don't have infrastructure for that.

[1]
https://www.postgresql.org/message-id/flat/CAMbWs4--Qy-nLq_Eq61_rsQ3JUYteNh2G8-GnDkt%2BFsp_t_Wjw%40mail.gmail.com

Thanks
Richard

Commits

  1. Remove bogus Assert and dead code in remove_useless_results_recurse().