mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
Privileges on functions and procedural languages
This commit is contained in:
@ -15,7 +15,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.160 2001/11/05 05:00:14 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.161 2002/02/18 23:11:14 petere Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1893,9 +1893,9 @@ _copyGrantStmt(GrantStmt *from)
|
||||
GrantStmt *newnode = makeNode(GrantStmt);
|
||||
|
||||
newnode->is_grant = from->is_grant;
|
||||
Node_Copy(from, newnode, relnames);
|
||||
if (from->privileges)
|
||||
newnode->privileges = pstrdup(from->privileges);
|
||||
newnode->objtype = from->objtype;
|
||||
Node_Copy(from, newnode, objects);
|
||||
Node_Copy(from, newnode, privileges);
|
||||
Node_Copy(from, newnode, grantees);
|
||||
|
||||
return newnode;
|
||||
@ -1914,6 +1914,20 @@ _copyPrivGrantee(PrivGrantee *from)
|
||||
return newnode;
|
||||
}
|
||||
|
||||
static FuncWithArgs *
|
||||
_copyFuncWithArgs(FuncWithArgs *from)
|
||||
{
|
||||
FuncWithArgs *newnode = makeNode(FuncWithArgs);
|
||||
|
||||
if (from->funcname)
|
||||
newnode->funcname = pstrdup(from->funcname);
|
||||
else
|
||||
newnode->funcname = NULL;
|
||||
Node_Copy(from, newnode, funcargs);
|
||||
|
||||
return newnode;
|
||||
}
|
||||
|
||||
static ClosePortalStmt *
|
||||
_copyClosePortalStmt(ClosePortalStmt *from)
|
||||
{
|
||||
@ -2971,6 +2985,9 @@ copyObject(void *from)
|
||||
case T_PrivGrantee:
|
||||
retval = _copyPrivGrantee(from);
|
||||
break;
|
||||
case T_FuncWithArgs:
|
||||
retval = _copyFuncWithArgs(from);
|
||||
break;
|
||||
|
||||
default:
|
||||
elog(ERROR, "copyObject: don't know how to copy node type %d",
|
||||
|
Reference in New Issue
Block a user