int *in_arg_varnos = NULL;
PLpgSQL_variable **out_arg_variables;
MemoryContext func_cxt;
- PLpgSQL_trigtype fn_is_trigger;
/*
* Setup the scanner input and error info. We assume that this function
function->resolve_option = plpgsql_variable_conflict;
if (is_dml_trigger)
- fn_is_trigger = PLPGSQL_DML_TRIGGER;
+ function->fn_is_trigger = PLPGSQL_DML_TRIGGER;
else if (is_event_trigger)
- fn_is_trigger = PLPGSQL_EVENT_TRIGGER;
+ function->fn_is_trigger = PLPGSQL_EVENT_TRIGGER;
else
- fn_is_trigger = PLPGSQL_NOT_TRIGGER;
- function->fn_is_trigger = fn_is_trigger;
+ function->fn_is_trigger = PLPGSQL_NOT_TRIGGER;
/*
* Initialize the compiler, particularly the namespace stack. The
sizeof(PLpgSQL_datum *) * datums_alloc);
datums_last = 0;
- Assert(fn_is_trigger == function->fn_is_trigger);
switch (function->fn_is_trigger)
{
case PLPGSQL_NOT_TRIGGER:
rettypeid == RECORDOID)
/* okay */ ;
else if (rettypeid == TRIGGEROID || rettypeid == EVTTRIGGEROID)
- {
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
- errmsg("trigger functions can only be called as triggers"),
- errhint("CALLED_AS_TRIGGER=%d CALLED_AS_EVENT_TRIGGER=%d",
- CALLED_AS_TRIGGER(fcinfo), CALLED_AS_EVENT_TRIGGER(fcinfo))));
- }
+ errmsg("trigger functions can only be called as triggers")));
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),