Re: pg_depend patch

From: "Rod Taylor" <rbt(at)zort(dot)ca>
To: <pgsql-patches(at)postgresql(dot)org>
Subject: Re: pg_depend patch
Date: 2002-05-11 02:13:48
Message-ID: 01c701c1f891$7d230d00$0f02000a@jester
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Ok. Fixed constraint names. Found and fixed an issue with index table
locks. It now piggy backs DeleteComment() on dependDelete() since 90%
of the cases had both calls.

Thanks,
Rod

----- Original Message -----
From: "Rod Taylor" <rbt(at)zort(dot)ca>
To: <pgsql-patches(at)postgresql(dot)org>
Sent: Wednesday, May 08, 2002 10:07 PM
Subject: [PATCHES] pg_depend patch

> Creation of:
> src/backend/catalog/pg_constraint.c
> src/backend/catalog/pg_depend.c
> src/include/catalog/pg_constraint.h
> src/include/catalog/pg_depend.h
> src/test/regress/expected/drop.out
>
> Removed src/backend/catalog/pg_relcheck.h
>
>
> TODO list attached which has a list of what I've done. Additional
notes
> are below.
>
>
> Postgresql TODOs completed with this patch:
>
> - Add pg_depend table for dependency recording (slightly different
> structure)
> - Auto-destroy sequence on DROP of table with SERIAL
> - Prevent column (relation) dropping if column is used by foreign
key
> - Make foreign keys easier to identify.
>
> Worth mentioning:
> - Prevent dropping system required functions and types.
> - Move all constraints under a single namespace (unique to the
relation)
>
>
> pg_dump can be easily modified to pick up the new foreign key
> structure. There is NOT a mechanism to convert trigger style
foreign
> keys into constraint entries.
>
> Renaming SERIAL sequences to include the OID would be useful and
simple.
>
> Function contents, view contents, and default values can depend on
> objects. Currently not tracked. One needs to parse their node tree
for
> all types, functions, relations, columns, and other references
recording
> these in the pg_depend table. Patch is still quite useful for other
> reasons though :)
>
>
> Regression tests will fail due to the OIDs used to name constraints
> being different with each run. Suggested solution is to disable
NOTICE
> during regression tests. See 'Regression tests and NOTICE
statements'
> on hackers.
>
> ALTER TABLE DROP CONSTRAINT is still not completely functional (same
> state as before).
>
> Documentation updates will follow. They'll consist primarily of
> describing RESTRICT and CASCADE keywords.
>
>
> NOTE: REINDEX may do strange things. It appears to be functional,
but
> has a special hook through dependencies so it won't complain too
loudly.
> Basically ignores restrictions and doesn't cascade beyond implicit
> drops.
>
>
> Enjoy!
>
> --
> Rod
>

----------------------------------------------------------------------
----------

>
> ---------------------------(end of
broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>

Attachment Content-Type Size
depend.patch.gz application/x-gzip 32.1 KB
pg_depend.c application/octet-stream 19.2 KB
pg_constraint.c application/octet-stream 9.5 KB
pg_depend.h application/octet-stream 2.8 KB
pg_constraint.h application/octet-stream 3.7 KB
drop.out application/octet-stream 5.0 KB

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Joe Conway 2002-05-11 04:04:32 Re: troubleshooting pointers
Previous Message Tom Lane 2002-05-11 02:07:36 Re: troubleshooting pointers