Clarify comment about temporal foreign keys
authorPeter Eisentraut <[email protected]>
Sat, 13 Dec 2025 15:44:33 +0000 (16:44 +0100)
committerPeter Eisentraut <[email protected]>
Sat, 13 Dec 2025 15:44:33 +0000 (16:44 +0100)
In RI_ConstraintInfo, period_contained_by_oper and
period_intersect_oper can take either anyrange or anymultirange.

Author: Paul A. Jungwirth <[email protected]>
Discussion: https://www.postgresql.org/message-id/CA%2BrenyWzDth%2BjqLZA2L2Cezs3wE%2BWX-5P8W2EOVx_zfFD%3Daicg%40mail.gmail.com

src/backend/utils/adt/ri_triggers.c

index 059fc5ebf601accdc3846e0d095af5a2451ed7d0..d54591fce58c2104cab6f4126c91cb3c402156c4 100644 (file)
@@ -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;