Re: Killing off removed rels properly
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Richard Guo <guofenglinux@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2023-02-13T18:39:13Z
Lists: pgsql-hackers
Richard Guo <guofenglinux@gmail.com> writes: > 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. Pushed, thanks for looking at it! > One minor comment is that we should > also remove the comments about RELOPT_DEADREL in pathnodes.h. Yeah, I noticed that shortly after posting the patch :-(. Searching the optimizer code for other references to "dead" rels turned up another place where the comments need fixed, namely match_foreign_keys_to_quals ... which is someplace I should have thought to check before, given the reference to it in remove_rel_from_query. Its code is fine as-is though. regards, tom lane
Commits
-
Prevent join removal from removing the query's result relation.
- f6db76c55509 16.0 landed
- e6d8639cf25c 15.3 landed
-
Remove gratuitous assumptions about what make_modifytable can see.
- c6c3b3bc3de1 16.0 landed
-
When removing a relation from the query, drop its RelOptInfo.
- e9a20e451f3a 16.0 landed
-
Allow left join removals and unique joins on partitioned tables
- 3c569049b7b5 16.0 cited