Hello,

In RI_ConstraintInfo, a couple new fields say they are operators for
anyrange, but technically they could be for anymultirange instead.
Here is a patch to fix that. (It's too bad that pgindent wants to
break the lines here.)

Yours,

-- 
Paul              ~{:-)
[email protected]
From 4d539b5477273e7094d073034e0b80206875cda8 Mon Sep 17 00:00:00 2001
From: "Paul A. Jungwirth" <[email protected]>
Date: Thu, 27 Nov 2025 12:13:55 -0800
Subject: [PATCH v1] Clarify comment about temporal foreign keys

In RI_ConstraintInfo, period_contained_by_oper and period_intersect_oper can
take either anyrange or anymultirange.

Author: Paul A. Jungwirth <[email protected]>
---
 src/backend/utils/adt/ri_triggers.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backend/utils/adt/ri_triggers.c b/src/backend/utils/adt/ri_triggers.c
index 059fc5ebf60..d54591fce58 100644
--- a/src/backend/utils/adt/ri_triggers.c
+++ b/src/backend/utils/adt/ri_triggers.c
@@ -126,9 +126,11 @@ typedef struct RI_ConstraintInfo
 	Oid			pf_eq_oprs[RI_MAX_NUMKEYS]; /* equality operators (PK = FK) */
 	Oid			pp_eq_oprs[RI_MAX_NUMKEYS]; /* equality operators (PK = PK) */
 	Oid			ff_eq_oprs[RI_MAX_NUMKEYS]; /* equality operators (FK = FK) */
-	Oid			period_contained_by_oper;	/* anyrange <@ anyrange */
+	Oid			period_contained_by_oper;	/* anyrange <@ anyrange (or
+											 * multiranges) */
 	Oid			agged_period_contained_by_oper; /* fkattr <@ range_agg(pkattr) */
-	Oid			period_intersect_oper;	/* anyrange * anyrange */
+	Oid			period_intersect_oper;	/* anyrange * anyrange (or
+										 * multiranges) */
 	dlist_node	valid_link;		/* Link in list of valid entries */
 } RI_ConstraintInfo;
 
-- 
2.47.3

Reply via email to