From: | KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com> |
---|---|
To: | Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec> |
Cc: | KaiGai Kohei <kaigai(at)kaigai(dot)gr(dot)jp>, Robert Haas <robertmhaas(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [PATCH] Largeobject access controls |
Date: | 2009-10-06 02:15:57 |
Message-ID: | 4ACAA85D.3060804@ak.jp.nec.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)ak(dot)jp(dot)nec(dot)com>
Attachment | Content-Type | Size |
---|---|---|
sepgsql-02-blob-8.5devel-r2353.patch.gz | application/gzip | 16.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | KaiGai Kohei | 2009-10-06 02:32:29 | Re: [PATCH] Reworks for Access Control facilities (r2311) |
Previous Message | Andrew Gierth | 2009-10-06 01:56:07 | Re: Rules: A Modest Proposal |