Change SQLSTATE for event triggers "wrong context" message
When certain event-trigger-only functions are called when not in the wrong context, they were reporting the "feature not supported" SQLSTATE, which is somewhat misleading. Create a new custom error code for such uses instead. Not backpatched since it may be seen as an undesirable behavioral change. Author: Michael Paquier Discussion: https://www.postgresql.org/message-id/CAB7nPqQ-5NAkHQHh_NOm7FPep37NCiLKwPoJ2Yxb8TDoGgbYYA@mail.gmail.com
This commit is contained in:
parent
5df64f298d
commit
73206812cd
@ -1416,7 +1416,7 @@ pg_event_trigger_dropped_objects(PG_FUNCTION_ARGS)
|
||||
if (!currentEventTriggerState ||
|
||||
!currentEventTriggerState->in_sql_drop)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
(errcode(ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED),
|
||||
errmsg("%s can only be called in a sql_drop event trigger function",
|
||||
"pg_event_trigger_dropped_objects()")));
|
||||
|
||||
@ -1536,7 +1536,7 @@ pg_event_trigger_table_rewrite_oid(PG_FUNCTION_ARGS)
|
||||
if (!currentEventTriggerState ||
|
||||
currentEventTriggerState->table_rewrite_oid == InvalidOid)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
(errcode(ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED),
|
||||
errmsg("%s can only be called in a table_rewrite event trigger function",
|
||||
"pg_event_trigger_table_rewrite_oid()")));
|
||||
|
||||
@ -1557,7 +1557,7 @@ pg_event_trigger_table_rewrite_reason(PG_FUNCTION_ARGS)
|
||||
if (!currentEventTriggerState ||
|
||||
currentEventTriggerState->table_rewrite_reason == 0)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
(errcode(ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED),
|
||||
errmsg("%s can only be called in a table_rewrite event trigger function",
|
||||
"pg_event_trigger_table_rewrite_reason()")));
|
||||
|
||||
|
@ -278,6 +278,7 @@ Section: Class 39 - External Routine Invocation Exception
|
||||
39004 E ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED null_value_not_allowed
|
||||
39P01 E ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED trigger_protocol_violated
|
||||
39P02 E ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED srf_protocol_violated
|
||||
39P03 E ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED event_trigger_protocol_violated
|
||||
|
||||
Section: Class 3B - Savepoint Exception
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user