]> granicus.if.org Git - postgresql/commitdiff
Revert patch --- needs more generalized solution.
authorBruce Momjian <bruce@momjian.us>
Sun, 2 May 2004 13:38:28 +0000 (13:38 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 2 May 2004 13:38:28 +0000 (13:38 +0000)
> Please find a attached a small patch that adds accessor functions
> for "aclitem" so that it is not an opaque datatype.
>
> I needed these functions to browse aclitems from user land. I can load
> them when necessary, but it seems to me that these accessors for a
> backend type belong to the backend, so I submit them.
>
> Fabien Coelho

src/backend/utils/adt/acl.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.h
src/include/utils/acl.h
src/test/regress/expected/privileges.out
src/test/regress/sql/privileges.sql

index f206e806f430cb6394e5b0f5b2e8a4e487dae7b9..5883c18878440b4bf2c761920b15621ef4acc812 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/adt/acl.c,v 1.102 2004/04/26 15:06:48 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/adt/acl.c,v 1.103 2004/05/02 13:38:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -874,43 +874,6 @@ makeaclitem(PG_FUNCTION_ARGS)
        PG_RETURN_ACLITEM_P(aclitem);
 }
 
-/* give access to internal data within aclitem
- */
-Datum 
-aclitem_grantee(PG_FUNCTION_ARGS)
-{
-       AclItem * a = PG_GETARG_ACLITEM_P(0);
-       PG_RETURN_INT32(a->ai_grantee);
-}
-
-Datum
-aclitem_grantor(PG_FUNCTION_ARGS)
-{
-       AclItem * a = PG_GETARG_ACLITEM_P(0);
-       PG_RETURN_INT32(a->ai_grantor);
-}
-
-Datum
-aclitem_idtype(PG_FUNCTION_ARGS)
-{
-       AclItem * a = PG_GETARG_ACLITEM_P(0);
-       PG_RETURN_INT32(ACLITEM_GET_IDTYPE(*a));
-}
-
-Datum
-aclitem_privs(PG_FUNCTION_ARGS)
-{
-       AclItem * a = PG_GETARG_ACLITEM_P(0);
-       PG_RETURN_INT32(ACLITEM_GET_PRIVS(*a));
-}
-
-Datum
-aclitem_goptions(PG_FUNCTION_ARGS)
-{
-       AclItem * a = PG_GETARG_ACLITEM_P(0);
-       PG_RETURN_INT32(ACLITEM_GET_GOPTIONS(*a));
-}
-
 static AclMode
 convert_priv_string(text *priv_type_text)
 {
index 9e1122982aec4db76e775103dcfa6ef286b283cd..161b0a97ef69ce81514369a64ac085f8548a43af 100644 (file)
@@ -37,7 +37,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.225 2004/04/26 15:06:49 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.226 2004/05/02 13:38:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     200404260
+#define CATALOG_VERSION_NO     200404220
 
 #endif
index fa59adcfc81fb7df57d37c02cd9264e711a0f628..afbb8e3e34511e516f6d26ba2c1a757e91e8e1e4 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.326 2004/04/26 15:06:49 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.327 2004/05/02 13:38:27 momjian Exp $
  *
  * NOTES
  *       The script catalog/genbki.sh reads this file and generates .bki
@@ -3534,18 +3534,6 @@ DESCR("non-persistent series generator");
 DATA(insert OID = 1069 (  generate_series PGNSP PGUID 12 f f t t v 2 20 "20 20" _null_ generate_series_int8 - _null_ ));
 DESCR("non-persistent series generator");
 
-/* aclitem utils */
-DATA(insert OID = 2510 (  aclitem_grantor                         PGNSP PGUID 12 f f t f i 1 23 "1033" _null_ aclitem_grantor - _null_ ));
-DESCR("extract user id grantor from aclitem");
-DATA(insert OID = 2511 (  aclitem_grantee                         PGNSP PGUID 12 f f t f i 1 23 "1033" _null_ aclitem_grantee - _null_ ));
-DESCR("extract grantee (user or group id) from aclitem");
-DATA(insert OID = 2512 (  aclitem_idtype                          PGNSP PGUID 12 f f t f i 1 23 "1033" _null_ aclitem_idtype - _null_ ));
-DESCR("extract id type of grantee (0 public, 1 user, 2 group) from aclitem");
-DATA(insert OID = 2513 (  aclitem_privs                           PGNSP PGUID 12 f f t f i 1 23 "1033" _null_ aclitem_privs - _null_ ));
-DESCR("extract privileges from aclitem");
-DATA(insert OID = 2514 (  aclitem_goptions                        PGNSP PGUID 12 f f t f i 1 23 "1033" _null_ aclitem_goptions - _null_ ));
-DESCR("extract grant options from aclitem");
-
 
 /*
  * Symbolic values for provolatile column: these indicate whether the result
index 6cd1d7fb7ef20c8340a3e845da9f7bdfbb0f5c7a..4fcec230ccbe339332f2ac6a4085fb73190b09f1 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/utils/acl.h,v 1.67 2004/04/26 15:06:49 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/acl.h,v 1.68 2004/05/02 13:38:28 momjian Exp $
  *
  * NOTES
  *       An ACL array is simply an array of AclItems, representing the union
@@ -220,11 +220,6 @@ extern Datum aclcontains(PG_FUNCTION_ARGS);
 extern Datum makeaclitem(PG_FUNCTION_ARGS);
 extern Datum aclitem_eq(PG_FUNCTION_ARGS);
 extern Datum hash_aclitem(PG_FUNCTION_ARGS);
-extern Datum aclitem_grantee(PG_FUNCTION_ARGS);
-extern Datum aclitem_grantor(PG_FUNCTION_ARGS);
-extern Datum aclitem_idtype(PG_FUNCTION_ARGS);
-extern Datum aclitem_privs(PG_FUNCTION_ARGS);
-extern Datum aclitem_goptions(PG_FUNCTION_ARGS);
 
 /*
  * prototypes for functions in aclchk.c
index fe1b8483a65fa4efdf1b2e56996ad2f145ccd9b3..f5a6c039d5438b09c9cc27b88380e82786ee22e2 100644 (file)
@@ -581,20 +581,6 @@ SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION')
  t
 (1 row)
 
--- aclitem utils small test
-SELECT u1.usename AS u1, u2.usename AS u2, 
-  aclitem_idtype(c.relacl[0]) AS idtype, 
-  aclitem_privs(c.relacl[0]) AS privs,
-  aclitem_goptions(c.relacl[0]) AS goptions
-FROM pg_class AS c, pg_user AS u1, pg_user AS u2
-WHERE u1.usesysid = aclitem_grantor(c.relacl[0])
-  AND u2.usesysid = aclitem_grantee(c.relacl[0])
-  AND c.relname LIKE 'atest4';
-      u1      |      u2      | idtype | privs | goptions 
---------------+--------------+--------+-------+----------
- regressuser1 | regressuser1 |      1 |   127 |      127
-(1 row)
-
 -- clean up
 \c regression
 DROP FUNCTION testfunc2(int);
index dd33295277a5d75845b47c06dc1370941394a4cf..d3e9b54303584afcb892e2f4e094f00a75181942 100644 (file)
@@ -316,15 +316,6 @@ SELECT has_table_privilege('regressuser3', 'atest4', 'SELECT'); -- false
 
 SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION'); -- true
 
--- aclitem utils small test
-SELECT u1.usename AS u1, u2.usename AS u2, 
-  aclitem_idtype(c.relacl[0]) AS idtype, 
-  aclitem_privs(c.relacl[0]) AS privs,
-  aclitem_goptions(c.relacl[0]) AS goptions
-FROM pg_class AS c, pg_user AS u1, pg_user AS u2
-WHERE u1.usesysid = aclitem_grantor(c.relacl[0])
-  AND u2.usesysid = aclitem_grantee(c.relacl[0])
-  AND c.relname LIKE 'atest4';
 
 -- clean up