Re: [PATCH] Largeobject access controls - Mailing list pgsql-hackers
From | KaiGai Kohei |
---|---|
Subject | Re: [PATCH] Largeobject access controls |
Date | |
Msg-id | 4ACAA85D.3060804@ak.jp.nec.com Whole thread Raw |
In response to | Re: [PATCH] Largeobject access controls (KaiGai Kohei <kaigai@ak.jp.nec.com>) |
Responses |
Re: [PATCH] Largeobject access controls
|
List | pgsql-hackers |
I rebased the largeobject access controls patch to the CVS HEAD because of the patch confliction to the default ACL patch. The only difference was a switch-case statement was moved from shdepDropOwned() to RemoveRoleFromObjectACL(), so we had to change the point to be patched. I don't think this change needs whole of reviewing again. Actual changes are as follows: $ diff -up r2333.patch r2353.patch <snip> +*** base/src/backend/catalog/aclchk.c Tue Oct 6 08:45:40 2009 +--- blob/src/backend/catalog/aclchk.c Tue Oct 6 09:44:51 2009 @@ -310,9 +310,21 @@ diff -Nrpc base/src/backend/catalog/aclc case ACL_OBJECT_NAMESPACE: foreach(cell, objnames) { +*************** RemoveRoleFromObjectACL(Oid roleid, Oid +*** 1156,1161 **** +--- 1184,1192 ---- + case LanguageRelationId: + istmt.objtype = ACL_OBJECT_LANGUAGE; + break; ++ case LargeObjectMetadataRelationId: ++ istmt.objtype = ACL_OBJECT_LARGEOBJECT; ++ break; + case NamespaceRelationId: + istmt.objtype = ACL_OBJECT_NAMESPACE; + break; *************** ExecGrant_Language(InternalGrant *istmt) <snip> -*** base/src/backend/catalog/pg_shdepend.c Thu Jun 18 10:20:52 2009 ---- blob/src/backend/catalog/pg_shdepend.c Thu Sep 24 10:46:38 2009 +*** base/src/backend/catalog/pg_shdepend.c Tue Oct 6 08:45:40 2009 +--- blob/src/backend/catalog/pg_shdepend.c Tue Oct 6 09:44:51 2009 *************** -*** 24,29 **** ---- 24,30 ---- - #include "catalog/pg_conversion.h" +*** 25,30 **** +--- 25,31 ---- #include "catalog/pg_database.h" + #include "catalog/pg_default_acl.h" #include "catalog/pg_language.h" + #include "catalog/pg_largeobject_metadata.h" #include "catalog/pg_namespace.h" #include "catalog/pg_operator.h" #include "catalog/pg_proc.h" -*************** shdepDropOwned(List *roleids, DropBehavi -*** 1210,1215 **** ---- 1211,1219 ---- - case LanguageRelationId: - istmt.objtype = ACL_OBJECT_LANGUAGE; - break; -+ case LargeObjectMetadataRelationId: -+ istmt.objtype = ACL_OBJECT_LARGEOBJECT; -+ break; - case NamespaceRelationId: - istmt.objtype = ACL_OBJECT_NAMESPACE; - break; *************** shdepReassignOwned(List *roleids, Oid ne -*** 1365,1370 **** ---- 1369,1378 ---- +*** 1332,1337 **** +--- 1333,1342 ---- AlterLanguageOwner_oid(sdepForm->objid, newrole); break; @@ -1178,9 +1178,9 @@ diff -Nrpc base/src/backend/catalog/pg_s + AlterLargeObjectOwner(sdepForm->objid, newrole); + break; + - default: - elog(ERROR, "unexpected classid %d", sdepForm->classid); - break; + case DefaultAclRelationId: + /* + * Ignore default ACLs; they should be handled by diff -Nrpc base/src/backend/commands/alter.c blob/src/backend/commands/alter.c *** base/src/backend/commands/alter.c Sat Jan 3 13:01:35 2009 --- blob/src/backend/commands/alter.c Thu Sep 24 10:46:38 2009 -- OSS Platform Development Division, NEC KaiGai Kohei <kaigai@ak.jp.nec.com>
Attachment
pgsql-hackers by date: