Re: Use merge-based matching for MCVs in eqjoinsel
Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
From: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>
To: David Geier <geidav.pg@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-10-13T10:08:02Z
Lists: pgsql-hackers
Attachments
- v3-0001-Optimize-eqjoinsel_inner-and-eqjoinsel_semi.patch (text/x-patch)
On 17.09.2025 12:40, Ilia Evdokimov wrote: > Hi David, > > In v2 patch, when the join is reversed we pass the commutator operator > Oid to eqjoinsel_semi(), and inside that function we immediately call > get_opcode(<commutator operator Oid>). Did you mean for the function > to take an operator Oid instead of an here? > > If that was unintentional, perhaps the cleanest fix is to add a new > 'operator' parameter to eqjoinsel_semi() so we can keep passing > 'opfuncoid' as before and avoid changing the behavior. > This v3 patch fixes the confusion between operator and function Oids in eqjoinsel_semi(). This version restores the previous behavior by keeping the function Oid as before and adds an explicit 'operator' parameter so both values are available without extra behavior changes. Do you have any further comments or suggestions on this version? -- Best regards, Ilia Evdokimov, Tantor Labs LLC, https://tantorlabs.com