Re: Killing off removed rels properly

Richard Guo <guofenglinux@gmail.com>

From: Richard Guo <guofenglinux@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2023-02-13T09:57:49Z
Lists: pgsql-hackers
On Sat, Feb 11, 2023 at 4:50 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

> I think it's time to clean this up by removing the rel from the
> planner data structures altogether.  The attached passes check-world,
> and if it does trigger any problems I would say that's a clear
> sign of bugs elsewhere.


+1. The patch looks good to me.  One minor comment is that we should
also remove the comments about RELOPT_DEADREL in pathnodes.h.

 * Lastly, there is a RelOptKind for "dead" relations, which are base rels
 * that we have proven we don't need to join after all.

Thanks
Richard

Commits

  1. Prevent join removal from removing the query's result relation.

  2. Remove gratuitous assumptions about what make_modifytable can see.

  3. When removing a relation from the query, drop its RelOptInfo.

  4. Allow left join removals and unique joins on partitioned tables