postgresql/src/backend/commands
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
..
Makefile Move parallel vacuum code to vacuumparallel.c. 2021-12-23 11:42:52 +05:30
aggregatecmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
alter.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
amcmds.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
analyze.c Separate equalRowTypes() from equalTupleDescs() 2024-03-17 05:58:04 +01:00
async.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
cluster.c Reintroduce MAINTAIN privilege and pg_maintain predefined role. 2024-03-13 14:49:26 -05:00
collationcmds.c Address more review comments on commit 2d819a08a1. 2024-03-18 11:58:13 -07:00
comment.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
constraint.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
conversioncmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
copy.c Add RETURNING support to MERGE. 2024-03-17 13:58:59 +00:00
copyfrom.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
copyfromparse.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
copyto.c Add RETURNING support to MERGE. 2024-03-17 13:58:59 +00:00
createas.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
dbcommands.c Introduce "builtin" collation provider. 2024-03-13 23:33:44 -07:00
define.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
discard.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
dropcmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
event_trigger.c Login event trigger documentation wordsmithing 2024-03-14 23:35:35 +01:00
explain.c Improve EXPLAIN's display of SubPlan nodes and output parameters. 2024-03-19 18:19:24 -04:00
extension.c Explicitly list dependent types as extension members in pg_depend. 2024-03-04 14:49:36 -05:00
foreigncmds.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
functioncmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
indexcmds.c Add temporal FOREIGN KEY contraints 2024-03-24 07:37:13 +01:00
lockcmds.c Reintroduce MAINTAIN privilege and pg_maintain predefined role. 2024-03-13 14:49:26 -05:00
matview.c Reintroduce MAINTAIN privilege and pg_maintain predefined role. 2024-03-13 14:49:26 -05:00
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00
opclasscmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
operatorcmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
policy.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
portalcmds.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
prepare.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
proclang.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
publicationcmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
schemacmds.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
seclabel.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
sequence.c Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
statscmds.c Initialize variables to placate compiler. 2024-03-17 20:16:15 -05:00
subscriptioncmds.c Add destroyStringInfo function for cleaning up StringInfos 2024-03-16 23:18:28 +01:00
tablecmds.c Add temporal FOREIGN KEY contraints 2024-03-24 07:37:13 +01:00
tablespace.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
trigger.c Rename pg_constraint.conwithoutoverlaps to conperiod 2024-03-05 11:24:17 +01:00
tsearchcmds.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
typecmds.c Catalog domain not-null constraints 2024-03-20 10:05:37 +01:00
user.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
vacuum.c Reintroduce MAINTAIN privilege and pg_maintain predefined role. 2024-03-13 14:49:26 -05:00
vacuumparallel.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
variable.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
view.c Separate equalRowTypes() from equalTupleDescs() 2024-03-17 05:58:04 +01:00