Re: Correction of RowMark Removal During Sel-Join Elimination
Greg Sabino Mullane <htamfids@gmail.com>
From: Greg Sabino Mullane <htamfids@gmail.com>
To: Andrei Lepikhov <lepihov@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Alexander Korotkov <aekorotkov@gmail.com>
Date: 2025-08-11T18:15:46Z
Lists: pgsql-hackers
Basic concept looks good. However: and fixes the incorrect behaviour. Additionally, it renames variables to > make > similar errors more apparent in the future. - if (!innerrel_is_unique_ext(root, joinrelids, inner->relids, > - outer, JOIN_INNER, selfjoinquals, > + if (!innerrel_is_unique_ext(root, joinrelids, rrel->relids, > + krel, JOIN_INNER, selfjoinquals, 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 a Cheers, Greg -- Crunchy Data - https://www.crunchydata.com Enterprise Postgres Software Products & Tech Support