aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/functioncmds.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-05-28 11:24:37 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2015-05-28 11:24:37 -0400
commitf46edf479e2468a08caca2a03ec7e258930a7161 (patch)
treeac978bae41291034f2e626586f5a11ec81304a17 /src/backend/commands/functioncmds.c
parentaa9eac45ea868e6ddabc4eb076d18be10ce84c6a (diff)
downloadpostgresql-f46edf479e2468a08caca2a03ec7e258930a7161.tar.gz
postgresql-f46edf479e2468a08caca2a03ec7e258930a7161.zip
Fix pg_get_functiondef() to print a function's LEAKPROOF property.
Seems to have been an oversight in the original leakproofness patch. Per report and patch from Jeevan Chalke. In passing, prettify some awkward leakproof-related code in AlterFunction.
Diffstat (limited to 'src/backend/commands/functioncmds.c')
-rw-r--r--src/backend/commands/functioncmds.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
index 3d220e9c7e6..4accf767bbf 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -1190,11 +1190,11 @@ AlterFunction(AlterFunctionStmt *stmt)
procForm->prosecdef = intVal(security_def_item->arg);
if (leakproof_item)
{
- if (intVal(leakproof_item->arg) && !superuser())
+ procForm->proleakproof = intVal(leakproof_item->arg);
+ if (procForm->proleakproof && !superuser())
ereport(ERROR,
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("only superuser can define a leakproof function")));
- procForm->proleakproof = intVal(leakproof_item->arg);
}
if (cost_item)
{