diff options
Diffstat (limited to 'src/pl')
| -rw-r--r-- | src/pl/plperl/plperl.c | 4 | ||||
| -rw-r--r-- | src/pl/plpgsql/src/pl_handler.c | 6 | ||||
| -rw-r--r-- | src/pl/plpython/plpy_main.c | 4 |
3 files changed, 4 insertions, 10 deletions
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index a65bce07135..5fdf303fe6b 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -2000,9 +2000,7 @@ plperl_validator(PG_FUNCTION_ARGS) /* except for TRIGGER, EVTTRIGGER, RECORD, or VOID */ if (functyptype == TYPTYPE_PSEUDO) { - /* we assume OPAQUE with no arguments means a trigger */ - if (proc->prorettype == TRIGGEROID || - (proc->prorettype == OPAQUEOID && proc->pronargs == 0)) + if (proc->prorettype == TRIGGEROID) is_trigger = true; else if (proc->prorettype == EVTTRIGGEROID) is_event_trigger = true; diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c index b83087e8d2f..b434818e541 100644 --- a/src/pl/plpgsql/src/pl_handler.c +++ b/src/pl/plpgsql/src/pl_handler.c @@ -421,12 +421,10 @@ plpgsql_validator(PG_FUNCTION_ARGS) functyptype = get_typtype(proc->prorettype); /* Disallow pseudotype result */ - /* except for TRIGGER, RECORD, VOID, or polymorphic */ + /* except for TRIGGER, EVTTRIGGER, RECORD, VOID, or polymorphic */ if (functyptype == TYPTYPE_PSEUDO) { - /* we assume OPAQUE with no arguments means a trigger */ - if (proc->prorettype == TRIGGEROID || - (proc->prorettype == OPAQUEOID && proc->pronargs == 0)) + if (proc->prorettype == TRIGGEROID) is_dml_trigger = true; else if (proc->prorettype == EVTTRIGGEROID) is_event_trigger = true; diff --git a/src/pl/plpython/plpy_main.c b/src/pl/plpython/plpy_main.c index 882d69e14a1..3eedaa80da7 100644 --- a/src/pl/plpython/plpy_main.c +++ b/src/pl/plpython/plpy_main.c @@ -379,9 +379,7 @@ plpython2_inline_handler(PG_FUNCTION_ARGS) static bool PLy_procedure_is_trigger(Form_pg_proc procStruct) { - return (procStruct->prorettype == TRIGGEROID || - (procStruct->prorettype == OPAQUEOID && - procStruct->pronargs == 0)); + return (procStruct->prorettype == TRIGGEROID); } static void |
