Shared dependency patch - Mailing list pgsql-patches

From Alvaro Herrera
Subject Shared dependency patch
Date
Msg-id 20050127000453.GA5979@surnet.cl
Whole thread Raw
Responses Re: Shared dependency patch
List pgsql-patches
Patchers,

Here is the latest installation of my shared dependency patch.
As some of you may remember, the purpose of this patch is to record
dependencies on shared objects, such as users, groups and tablespaces,
from regular database objects.  This is done on a new shared system
catalog called pg_shdepend, so that when a backend wants to drop any
shared object, it can easily verify whether it is referenced in other
database.

I have upgraded the patch to include references present in ACLs, and to
lock the objects appropiately before checking.  To do this I had to
change the LOCKTAG struct somewhat, using a previous patch by Rod Taylor
(thanks Rod!); and add a LockSharedObject() function.

I believe that with these changes, we no longer require to be able to
specify SysIds at user or group creation, because this necessity was
driven by the fact that it was very easy to drop users mentioned in
ACLs.  Althought I haven't done it in the patch I present, it is now
possible to get rid of that part of the grammar and also of the AclId
type.

This patch includes the required documentation additions, but I haven't
checked whether existing documentation needs to be updated.  Also, I'm
not including any regression tests.


Comments?  My idea would be to apply this to HEAD, but giving the noise
about a non-initdb-forcing 8.1, it would have to wait.  (But then we
could provide an upgrading method; I think this patch only needs
pg_shdepend to be created and populated.)

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Some men are heterosexual, and some are bisexual, and some
men don't think about sex at all... they become lawyers" (Woody Allen)

Attachment

pgsql-patches by date:

Previous
From: Mark Wong
Date:
Subject: Re: [HACKERS] WAL: O_DIRECT and multipage-writer
Next
From: Neil Conway
Date:
Subject: Re: heap_modifytuple