postgresql/src/backend
Peter Eisentraut 34768ee361 Add temporal FOREIGN KEY contraints
Add PERIOD clause to foreign key constraint definitions.  This is
supported for range and multirange types.  Temporal foreign keys check
for range containment instead of equality.

This feature matches the behavior of the SQL standard temporal foreign
keys, but it works on PostgreSQL's native ranges instead of SQL's
"periods", which don't exist in PostgreSQL (yet).

Reference actions ON {UPDATE,DELETE} {CASCADE,SET NULL,SET DEFAULT}
are not supported yet.

Author: Paul A. Jungwirth <pj@illuminatedcomputing.com>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Reviewed-by: jian he <jian.universality@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/CA+renyUApHgSZF9-nd-a0+OPGharLQLO=mDHcY4_qQ0+noCUVg@mail.gmail.com
2024-03-24 07:37:13 +01:00
..
access Fix an oversight in refactoring in 06b10f80ba. 2024-03-22 15:25:53 +02:00
archive Add macro for customizing an archiving WARNING message. 2024-03-04 15:41:42 -06:00
backup Revert "Temporary patch to help debug pg_walsummary test failures." 2024-03-20 11:34:00 -05:00
bootstrap Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
catalog Add temporal FOREIGN KEY contraints 2024-03-24 07:37:13 +01:00
commands Add temporal FOREIGN KEY contraints 2024-03-24 07:37:13 +01:00
executor Add TupleTableSlotOps.is_current_xact_tuple() method 2024-03-21 23:00:43 +02:00
foreign Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
jit Add SQL/JSON query functions 2024-03-21 17:07:03 +09:00
lib Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
libpq Revert "Add notBefore and notAfter to SSL cert info display" 2024-03-22 22:58:41 +01:00
main Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
nodes Do not output actual value of location fields in node serialization by default 2024-03-22 09:49:12 +01:00
optimizer Add SQL/JSON query functions 2024-03-21 17:07:03 +09:00
parser Add temporal FOREIGN KEY contraints 2024-03-24 07:37:13 +01:00
partitioning Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
po Update copyright for 2024 2024-01-03 20:49:05 -05:00
port Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
postmaster Avoid overflow in MaybeRemoveOldWalSummaries(). 2024-03-20 13:31:58 -05:00
regex Support C.UTF-8 locale in the new builtin collation provider. 2024-03-19 15:24:41 -07:00
replication Track invalidation_reason in pg_replication_slots. 2024-03-22 13:52:05 +05:30
rewrite Add RETURNING support to MERGE. 2024-03-17 13:58:59 +00:00
snowball Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
statistics Make stxstattarget nullable 2024-03-17 12:26:26 +01:00
storage Rework lwlocknames.txt to become lwlocklist.h 2024-03-20 11:55:20 +01:00
tcop Do not output actual value of location fields in node serialization by default 2024-03-22 09:49:12 +01:00
tsearch Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
utils Add temporal FOREIGN KEY contraints 2024-03-24 07:37:13 +01:00
.gitignore
Makefile Rework lwlocknames.txt to become lwlocklist.h 2024-03-20 11:55:20 +01:00
common.mk Blind attempt to fix LLVM dependency in the backend 2022-09-15 10:53:48 +07:00
meson.build Remove AIX support 2024-02-28 15:17:23 +04:00
nls.mk Remove distprep 2023-11-06 15:18:04 +01:00