Re: Correction of RowMark Removal During Sel-Join Elimination
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Andrei Lepikhov <lepihov@gmail.com>
Cc: Greg Sabino Mullane <htamfids@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-24T00:44:38Z
Lists: pgsql-hackers
Attachments
- v2-0001-Refactor-variable-names-in-remove_self_joins_one_.patch (application/octet-stream) patch v2-0001
- v2-0002-Improve-RowMark-handling-during-Self-Join-Elimina.patch (application/octet-stream) patch v2-0002
Hi, Andrei! On Tue, Aug 12, 2025 at 12:40 PM Andrei Lepikhov <lepihov@gmail.com> wrote: > On 11/8/2025 20:15, Greg Sabino Mullane wrote: > > I'm not convinced this is an improvement from someone just coming in to > > this part of the code, especially given (for example) the comment right > > above it: > > > > * Determine if the inner table can duplicate outer rows. We must > > * bypass the unique rel cache here since we're possibly using aThanks for your feedback. > I made some minor adjustments to the comments to make the code more > consistent. Sure, rrel and krel don't seem like the best solution - I > guess natives could find less wordy synonyms than just dumb > 'keeping_rel' and 'removing_rel'. But it is simpler to track which > relation and RowMark should be removed. Thank you for catching this. And thank you for the fix. I think it worth separating fix and refactoring. This helps to understand what exactly the fix is by looking at the patch. I also edited commit message. I'm going to push this if no objections. ------ Regards, Alexander Korotkov Supabase
Commits
-
Improve RowMark handling during Self-Join Elimination
- 8951941fb8a4 18.0 landed
- 5f6f951f88e5 19 (unreleased) landed
-
Refactor variable names in remove_self_joins_one_group()
- d713cf9b65ae 19 (unreleased) landed
- 8202b0e83d09 18.0 landed
-
Reduce "Var IS [NOT] NULL" quals during constant folding
- e2debb64380e 19 (unreleased) cited
-
Reimplement parsing and storage of default expressions and constraint
- eabc714a916b 7.1.1 cited