pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Álvaro Herrera <alvherre@kurilemu.de>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Add test for temporal referential integrity
Date: Thu, 11 Sep 2025 17:54:35 +0000
Message-ID: <E1uwlVC-000Dgx-1r@gemulon.postgresql.org> (raw)

Add test for temporal referential integrity

This commit adds an isolation test showing that temporal foreign keys do
not permit referential integrity violations under concurrency, like
fk-snapshot-2.  You can show that the test fails by passing false for
detectNewRows to ri_PerformCheck in ri_restrict.

Author: Paul Jungwirth <pj@illuminatedcomputing.com>
Reviewed-by: Rustam ALLAKOV <rustamallakov@gmail.com>
Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com>
Reviewed-by: Robert Haas <robertmhaas@gmail.com>
Discussion: https://postgr.es/m/CA+renyUp=xja80rBaB6NpY3RRdi750y046x28bo_xg29zKY72Q@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e8cec3d1791c140398454aa561cf51659dd8243d

Modified Files
--------------
src/test/isolation/expected/fk-snapshot-3.out | 213 ++++++++++++++++++++++++++
src/test/isolation/isolation_schedule         |   1 +
src/test/isolation/specs/fk-snapshot-3.spec   |  82 ++++++++++
3 files changed, 296 insertions(+)



Message-ID: <E1uwlVC-000Dgx-1r@gemulon.postgresql.org>
Permalink:  ../E1uwlVC-000Dgx-1r@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1uwlVC-000Dgx-1r@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: alvherre@kurilemu.de, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Add test for temporal referential integrity
  In-Reply-To: <E1uwlVC-000Dgx-1r@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox