git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 74a7306) | patch
Add temporal PRIMARY KEY and UNIQUE constraints
2024年1月24日 14:43:41 +0000 (15:43 +0100)
2024年1月24日 15:34:37 +0000 (16:34 +0100)
commit 46a0cd4cefb4d9b462d8cc4df5e7ecdd190bea92
Add temporal PRIMARY KEY and UNIQUE constraints

Add WITHOUT OVERLAPS clause to PRIMARY KEY and UNIQUE constraints.
These are backed by GiST indexes instead of B-tree indexes, since they
are essentially exclusion constraints with = for the scalar parts of
the key and && for the temporal part.

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
34 files changed:
contrib/btree_gist/Makefile diff | blob | blame | history
contrib/btree_gist/expected/without_overlaps.out [new file with mode: 0644] blob
contrib/btree_gist/meson.build diff | blob | blame | history
contrib/btree_gist/sql/without_overlaps.sql [new file with mode: 0644] blob
doc/src/sgml/catalogs.sgml diff | blob | blame | history
doc/src/sgml/gist.sgml diff | blob | blame | history
doc/src/sgml/ref/create_table.sgml diff | blob | blame | history
src/backend/access/gist/gistutil.c diff | blob | blame | history
src/backend/catalog/heap.c diff | blob | blame | history
src/backend/catalog/index.c diff | blob | blame | history
src/backend/catalog/pg_constraint.c diff | blob | blame | history
src/backend/commands/indexcmds.c diff | blob | blame | history
src/backend/commands/tablecmds.c diff | blob | blame | history
src/backend/commands/trigger.c diff | blob | blame | history
src/backend/commands/typecmds.c diff | blob | blame | history
src/backend/nodes/outfuncs.c diff | blob | blame | history
src/backend/nodes/readfuncs.c diff | blob | blame | history
src/backend/parser/gram.y diff | blob | blame | history
src/backend/parser/parse_utilcmd.c diff | blob | blame | history
src/backend/utils/adt/ruleutils.c diff | blob | blame | history
src/backend/utils/cache/relcache.c diff | blob | blame | history
src/bin/pg_dump/pg_dump.c diff | blob | blame | history
src/bin/pg_dump/pg_dump.h diff | blob | blame | history
src/bin/pg_dump/t/002_pg_dump.pl diff | blob | blame | history
src/bin/psql/describe.c diff | blob | blame | history
src/include/access/gist.h diff | blob | blame | history
src/include/catalog/catversion.h diff | blob | blame | history
src/include/catalog/index.h diff | blob | blame | history
src/include/catalog/pg_constraint.h diff | blob | blame | history
src/include/commands/defrem.h diff | blob | blame | history
src/include/nodes/parsenodes.h diff | blob | blame | history
src/test/regress/expected/without_overlaps.out [new file with mode: 0644] blob
src/test/regress/parallel_schedule diff | blob | blame | history
src/test/regress/sql/without_overlaps.sql [new file with mode: 0644] blob
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /