Second phase of committing Rod Taylor's pg_depend/pg_constraint patch.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 7c6df91dda27accab3097390ef0d21d93028c7a1
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2002-07-12T18:43:19Z
Releases: 7.3.1
Second phase of committing Rod Taylor's pg_depend/pg_constraint patch.
pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY
constraints all have real live entries in pg_constraint.  pg_depend
exists, and RESTRICT/CASCADE options work on most kinds of DROP;
however, pg_depend is not yet very well populated with dependencies.
(Most of the ones that are present at this point just replace formerly
hardwired associations, such as the implicit drop of a relation's pg_type
entry when the relation is dropped.)  Need to add more logic to create
dependency entries, improve pg_dump to dump constraints in place of
indexes and triggers, and add some regression tests.

Files

PathChange+/−
doc/src/sgml/catalogs.sgml modified +318 −73
doc/src/sgml/ref/alter_table.sgml modified +3 −23
doc/src/sgml/ref/comment.sgml modified +3 −2
doc/src/sgml/ref/drop_aggregate.sgml modified +19 −2
doc/src/sgml/ref/drop_domain.sgml modified +12 −16
doc/src/sgml/ref/drop_function.sgml modified +22 −11
doc/src/sgml/ref/drop_index.sgml modified +19 −2
doc/src/sgml/ref/drop_language.sgml modified +21 −10
doc/src/sgml/ref/drop_operator.sgml modified +19 −2
doc/src/sgml/ref/drop_rule.sgml modified +20 −2
doc/src/sgml/ref/drop_sequence.sgml modified +21 −2
doc/src/sgml/ref/drop_table.sgml modified +21 −35
doc/src/sgml/ref/drop_trigger.sgml modified +19 −2
doc/src/sgml/ref/drop_type.sgml modified +22 −15
doc/src/sgml/ref/drop_view.sgml modified +21 −53
doc/src/sgml/release.sgml modified +2 −1
src/backend/bootstrap/bootparse.y modified +5 −3
src/backend/catalog/dependency.c added +731 −0
src/backend/catalog/heap.c modified +159 −451
src/backend/catalog/index.c modified +91 −17
src/backend/catalog/indexing.c modified +5 −3
src/backend/catalog/Makefile modified +6 −6
src/backend/catalog/namespace.c modified +13 −216
src/backend/catalog/pg_constraint.c added +453 −0
src/backend/catalog/pg_depend.c added +147 −0
src/backend/catalog/pg_type.c modified +75 −1
src/backend/commands/aggregatecmds.c modified +22 −29
src/backend/commands/cluster.c modified +11 −3
src/backend/commands/comment.c modified +24 −17
src/backend/commands/dbcommands.c modified +8 −3
src/backend/commands/functioncmds.c modified +68 −14
src/backend/commands/indexcmds.c modified +10 −3
src/backend/commands/operatorcmds.c modified +37 −11
src/backend/commands/proclang.c modified +38 −8
src/backend/commands/tablecmds.c modified +574 −129
src/backend/commands/trigger.c modified +166 −162
src/backend/commands/typecmds.c modified +61 −56
src/backend/commands/view.c modified +12 −6
src/backend/nodes/copyfuncs.c modified +6 −4
src/backend/nodes/equalfuncs.c modified +9 −3
src/backend/nodes/outfuncs.c modified +10 −8
src/backend/parser/analyze.c modified +26 −206
src/backend/parser/gram.y modified +40 −30
src/backend/rewrite/rewriteDefine.c modified +21 −1
src/backend/rewrite/rewriteRemove.c modified +64 −84
src/backend/rewrite/rewriteSupport.c modified +24 −13
src/backend/tcop/utility.c modified +9 −14
src/backend/utils/cache/lsyscache.c modified +22 −3
src/backend/utils/cache/relcache.c modified +33 −35
src/bin/initdb/initdb.sh modified +2 −2
src/bin/pg_dump/pg_dump.c modified +20 −19
src/bin/psql/describe.c modified +11 −10
src/include/access/tupdesc.h modified +2 −2
src/include/catalog/catname.h modified +3 −2
src/include/catalog/catversion.h modified +2 −2
src/include/catalog/dependency.h added +92 −0
src/include/catalog/heap.h modified +4 −3
src/include/catalog/index.h modified +2 −1
src/include/catalog/indexing.h modified +19 −5
src/include/catalog/pg_constraint.h added +172 −0
src/include/catalog/pg_depend.h added +93 −0
src/include/catalog/pg_relcheck.h deleted +0 −55
src/include/commands/comment.h modified +1 −1
src/include/commands/defrem.h modified +7 −3
src/include/commands/proclang.h modified +1 −0
src/include/commands/trigger.h modified +6 −4
src/include/nodes/parsenodes.h modified +27 −14
src/include/rewrite/rewriteRemove.h modified +7 −3
src/include/utils/lsyscache.h modified +2 −1
src/test/regress/expected/alter_table.out modified +7 −9
src/test/regress/expected/domain.out modified +4 −2
src/test/regress/expected/foreign_key.out modified +23 −40
src/test/regress/expected/sanity_check.out modified +3 −2
src/test/regress/output/constraints.source modified +2 −2
src/test/regress/sql/alter_table.sql modified +4 −4
src/test/regress/sql/domain.sql modified +4 −1
src/test/regress/sql/foreign_key.sql modified +5 −3