| From: | Arne Roland <arne(dot)roland(at)malkut(dot)net> |
|---|---|
| To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Cc: | Joel Jacobson <joel(at)compiler(dot)org>, Tomas Vondra <tomas(at)vondra(dot)me>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Anders Granlund <anders(dot)granlund(dot)0(at)gmail(dot)com>, Andreas Karlsson <andreas(at)proxel(dot)se>, Vik Fearing <vik(at)chouppes(dot)com>, Alexander Melnikov <asmmp(at)protonmail(dot)com> |
| Subject: | Re: Key joins |
| Date: | 2026-10-08 20:15:03 |
| Message-ID: | bd598b83-9371-4857-90e4-4d5ded4613b5@malkut.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi hackers,
the attached patch is rebased on master. We also decided to drop the
FILTER (WHERE ...) syntax, to avoid further discussions about that
syntax hold back the patch itself.
The biggest change is the syntax change affecting the whole chain, but
mostly our first commit. FOR KEY now names a table on both sides of the
arrow, left operand first: a JOIN b FOR KEY a_tab (id) <- b_tab (a_id)
replaces the old FOR KEY (a_id) -> a_tab (id), which named only the
referenced table. The arrow still points from the referencing side to
the referenced side. This moves the nice canonical form from all left
arrows to all forward right arrows. This lead to a lot of mechanical
changes in the tests. I did not review all of them by hand.
This patch also patches the debug section of pg_rewrite_query (the
roundtrip eq check). Because proofDependencies are never written,
we skip the serialization tests for FOR KEY JOIN dependencies. This is
not done to address any live bugs, but avoid failing tests with
debug_write_read_parse_plan_trees enabled. This is part of the Record
and revalidate member of the series.
Regards
Arne
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tomas Vondra | 2026-10-08 20:21:17 | Re: hashjoins vs. Bloom filters (yet again) |
| Previous Message | Hannu Krosing | 2026-10-08 20:13:37 | Re: [PATCH] Extensible ReadyForQuery wire protocol message and C hook, for connection pools and WAIT FOR LSN |