Re: pg_depend patch - Mailing list pgsql-patches

From Rod Taylor
Subject Re: pg_depend patch
Date
Msg-id 01c701c1f891$7d230d00$0f02000a@jester
Whole thread Raw
In response to pg_depend patch  (Rod Taylor <rbt@zort.ca>)
List 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@zort.ca>
To: <pgsql-patches@postgresql.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@postgresql.org so that your
> message can get through to the mailing list cleanly
>

Attachment

pgsql-patches by date:

Previous
From: Joe Conway
Date:
Subject: SRF patch (was Re: [HACKERS] troubleshooting pointers)
Next
From: "Rod Taylor"
Date:
Subject: Re: pg_depend patch