Re: Key joins
Joel Jacobson <joel@compiler.org>
From: "Joel Jacobson" <joel@compiler.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: "Arne Roland" <arne.roland@malkut.net>,
"Anders Granlund" <anders.granlund.0@gmail.com>,
"Andreas Karlsson" <andreas@proxel.se>, "Vik Fearing" <vik@chouppes.com>
Date: 2026-05-29T05:08:47Z
Lists: pgsql-hackers
Attachments
- v3-0003-Add-information_schema.view_constraint_usage.patch.gz (application/x-gzip)
- v3-0002-Implement-FOR-KEY-join-support.patch.gz (application/x-gzip)
- v3-0001-Serialize-routine-definition-changes-with-depende.patch.gz (application/x-gzip)
On Fri, May 29, 2026, at 00:13, Joel Jacobson wrote: > On Thu, May 28, 2026, at 20:47, Joel Jacobson wrote: >> Hi hackers, >> >> This patch implements a new SQL language feature, that we intent to >> submit as a Change Proposal to the WG 3 SQL committee for the next >> meeting in Stockholm in June. We would greatly appreciate any feedback >> from the community. ... >> The attached Discussion paper has also been published at https://keyjoin.org >> with all examples in the paper runnable in the browser using a patched PGLite. v3 is mostly a rebase over recent master changes. 0001: Serialize routine definition changes with dependency recording 0002: Implement FOR KEY join support 0003: Add information_schema.view_constraint_usage Changes from v2: * 0001 was reworked after 2fbb211 added generic dependency locking to master. The patch now only keeps CREATE OR REPLACE FUNCTION / ALTER FUNCTION serialization with dependency recording. This also matches the wording change from e2b3573. * 0002 race tests now expect the generic dependency-locking error path, handle stale dependency lookups during proof revalidation, and avoid timing-dependent deadlock/injection-point output in the function and operator prelock tests. * cfbot showed the ICU-dependent nondeterministic-collation tests in v2 failed when such collations were unavailable. Moved to a separate guarded key_join_icu test. * 0003 is unchanged. /Joel