aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/equalfuncs.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2002-02-18 23:11:58 +0000
committerPeter Eisentraut <peter_e@gmx.net>2002-02-18 23:11:58 +0000
commit8adf56f77aa0cc8cf4af7a19f0d235fc56fbabc7 (patch)
treecab3054a1a1fba1fe1722bb75a1fc3c06eda964d /src/backend/nodes/equalfuncs.c
parent5e035031265aef8608fd32a31897240a3aff3d8d (diff)
downloadpostgresql-8adf56f77aa0cc8cf4af7a19f0d235fc56fbabc7.tar.gz
postgresql-8adf56f77aa0cc8cf4af7a19f0d235fc56fbabc7.zip
Privileges on functions and procedural languages
Diffstat (limited to 'src/backend/nodes/equalfuncs.c')
-rw-r--r--src/backend/nodes/equalfuncs.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c
index 538a773e31b..886963f8808 100644
--- a/src/backend/nodes/equalfuncs.c
+++ b/src/backend/nodes/equalfuncs.c
@@ -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 (!equal(a->objects, b->objects))
return false;
- if (!equalstr(a->privileges, b->privileges))
+ if (!equal(a->privileges, b->privileges))
return false;
if (!equal(a->grantees, b->grantees))
return false;
@@ -776,6 +778,13 @@ _equalPrivGrantee(PrivGrantee *a, PrivGrantee *b)
}
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)
{
if (!equalstr(a->portalname, b->portalname))
@@ -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",