mirror of
https://github.com/postgres/postgres.git
synced 2025-11-10 17:42:29 +03:00
Privileges on functions and procedural languages
This commit is contained in:
@@ -20,7 +20,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.108 2001/11/05 05:00:14 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.109 2002/02/18 23:11:14 petere Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -758,9 +758,11 @@ _equalGrantStmt(GrantStmt *a, GrantStmt *b)
|
||||
{
|
||||
if (a->is_grant != b->is_grant)
|
||||
return false;
|
||||
if (!equal(a->relnames, b->relnames))
|
||||
if (a->objtype != b->objtype)
|
||||
return false;
|
||||
if (!equalstr(a->privileges, b->privileges))
|
||||
if (!equal(a->objects, b->objects))
|
||||
return false;
|
||||
if (!equal(a->privileges, b->privileges))
|
||||
return false;
|
||||
if (!equal(a->grantees, b->grantees))
|
||||
return false;
|
||||
@@ -775,6 +777,13 @@ _equalPrivGrantee(PrivGrantee *a, PrivGrantee *b)
|
||||
&& equalstr(a->groupname, b->groupname);
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalFuncWithArgs(FuncWithArgs *a, FuncWithArgs *b)
|
||||
{
|
||||
return equalstr(a->funcname, b->funcname)
|
||||
&& equal(a->funcargs, b->funcargs);
|
||||
}
|
||||
|
||||
static bool
|
||||
_equalClosePortalStmt(ClosePortalStmt *a, ClosePortalStmt *b)
|
||||
{
|
||||
@@ -2122,6 +2131,9 @@ equal(void *a, void *b)
|
||||
case T_PrivGrantee:
|
||||
retval = _equalPrivGrantee(a, b);
|
||||
break;
|
||||
case T_FuncWithArgs:
|
||||
retval = _equalFuncWithArgs(a, b);
|
||||
break;
|
||||
|
||||
default:
|
||||
elog(NOTICE, "equal: don't know whether nodes of type %d are equal",
|
||||
|
||||
Reference in New Issue
Block a user