mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
Temporary patch to try to debug why event trigger patch broke Windows.
Apologies for the ugliness.
This commit is contained in:
parent
ae55d9fbe3
commit
0a248208a0
@ -285,6 +285,7 @@ do_compile(FunctionCallInfo fcinfo,
|
|||||||
int *in_arg_varnos = NULL;
|
int *in_arg_varnos = NULL;
|
||||||
PLpgSQL_variable **out_arg_variables;
|
PLpgSQL_variable **out_arg_variables;
|
||||||
MemoryContext func_cxt;
|
MemoryContext func_cxt;
|
||||||
|
PLpgSQL_trigtype fn_is_trigger;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Setup the scanner input and error info. We assume that this function
|
* Setup the scanner input and error info. We assume that this function
|
||||||
@ -352,11 +353,12 @@ do_compile(FunctionCallInfo fcinfo,
|
|||||||
function->resolve_option = plpgsql_variable_conflict;
|
function->resolve_option = plpgsql_variable_conflict;
|
||||||
|
|
||||||
if (is_dml_trigger)
|
if (is_dml_trigger)
|
||||||
function->fn_is_trigger = PLPGSQL_DML_TRIGGER;
|
fn_is_trigger = PLPGSQL_DML_TRIGGER;
|
||||||
else if (is_event_trigger)
|
else if (is_event_trigger)
|
||||||
function->fn_is_trigger = PLPGSQL_EVENT_TRIGGER;
|
fn_is_trigger = PLPGSQL_EVENT_TRIGGER;
|
||||||
else
|
else
|
||||||
function->fn_is_trigger = PLPGSQL_NOT_TRIGGER;
|
fn_is_trigger = PLPGSQL_NOT_TRIGGER;
|
||||||
|
function->fn_is_trigger = fn_is_trigger;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize the compiler, particularly the namespace stack. The
|
* Initialize the compiler, particularly the namespace stack. The
|
||||||
@ -374,6 +376,7 @@ do_compile(FunctionCallInfo fcinfo,
|
|||||||
sizeof(PLpgSQL_datum *) * datums_alloc);
|
sizeof(PLpgSQL_datum *) * datums_alloc);
|
||||||
datums_last = 0;
|
datums_last = 0;
|
||||||
|
|
||||||
|
Assert(fn_is_trigger == function->fn_is_trigger);
|
||||||
switch (function->fn_is_trigger)
|
switch (function->fn_is_trigger)
|
||||||
{
|
{
|
||||||
case PLPGSQL_NOT_TRIGGER:
|
case PLPGSQL_NOT_TRIGGER:
|
||||||
@ -537,9 +540,13 @@ do_compile(FunctionCallInfo fcinfo,
|
|||||||
rettypeid == RECORDOID)
|
rettypeid == RECORDOID)
|
||||||
/* okay */ ;
|
/* okay */ ;
|
||||||
else if (rettypeid == TRIGGEROID || rettypeid == EVTTRIGGEROID)
|
else if (rettypeid == TRIGGEROID || rettypeid == EVTTRIGGEROID)
|
||||||
|
{
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||||
errmsg("trigger functions can only be called as triggers")));
|
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))));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user