mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Add a check for trigger function with declared arguments. This path
could not be reached before, but now that there is a plpgsql validator function, it can be. Check is needed to prevent core dump reported by Satoshi Nagayasu. Besides, this gives a more specific and useful error message for a fairly common novice error.
This commit is contained in:
parent
99382f4581
commit
6e2ff6e89a
@ -3,7 +3,7 @@
|
|||||||
* procedural language
|
* procedural language
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.91 2005/06/10 16:23:11 neilc Exp $
|
* $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.92 2005/07/06 16:42:10 tgl Exp $
|
||||||
*
|
*
|
||||||
* This software is copyrighted by Jan Wieck - Hamburg.
|
* This software is copyrighted by Jan Wieck - Hamburg.
|
||||||
*
|
*
|
||||||
@ -547,6 +547,13 @@ do_compile(FunctionCallInfo fcinfo,
|
|||||||
function->fn_retistuple = true;
|
function->fn_retistuple = true;
|
||||||
function->fn_retset = false;
|
function->fn_retset = false;
|
||||||
|
|
||||||
|
/* shouldn't be any declared arguments */
|
||||||
|
if (procStruct->pronargs != 0)
|
||||||
|
ereport(ERROR,
|
||||||
|
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
|
||||||
|
errmsg("trigger functions cannot have declared arguments"),
|
||||||
|
errhint("You probably want to use TG_NARGS and TG_ARGV instead.")));
|
||||||
|
|
||||||
/* Add the record for referencing NEW */
|
/* Add the record for referencing NEW */
|
||||||
rec = palloc0(sizeof(PLpgSQL_rec));
|
rec = palloc0(sizeof(PLpgSQL_rec));
|
||||||
rec->dtype = PLPGSQL_DTYPE_REC;
|
rec->dtype = PLPGSQL_DTYPE_REC;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user