Re: Use merge-based matching for MCVs in eqjoinsel
David Geier <geidav.pg@gmail.com>
From: David Geier <geidav.pg@gmail.com>
To: Ilia Evdokimov <ilya.evdokimov@tantorlabs.com>,
pgsql-hackers@lists.postgresql.org
Date: 2025-11-14T17:37:33Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Speed up eqjoinsel() with lots of MCV entries.
- 057012b205a0 19 (unreleased) landed
Hi Ilia! On 13.10.2025 12:08, Ilia Evdokimov wrote: > > 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? > I'm sorry for missing your email with the test results. I'll read up on it as well as the v3 patch early next week and reply. -- David Geier