diff options
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index ce7d6f5a2d6..17a26c3c8e9 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -155,7 +155,8 @@ CreateTrigger(CreateTrigStmt *stmt) if (((Form_pg_proc) GETSTRUCT(tuple))->prorettype != 0) elog(ERROR, "CreateTrigger: function %s() must return OPAQUE", stmt->funcname); - if (((Form_pg_proc) GETSTRUCT(tuple))->prolang != ClanguageId) + if (((Form_pg_proc) GETSTRUCT(tuple))->prolang != ClanguageId && + ((Form_pg_proc) GETSTRUCT(tuple))->prolang != INTERNALlanguageId) { HeapTuple langTup; @@ -166,7 +167,7 @@ CreateTrigger(CreateTrigStmt *stmt) elog(ERROR, "CreateTrigger: cache lookup for PL failed"); if (((Form_pg_language) GETSTRUCT(langTup))->lanispl == false) - elog(ERROR, "CreateTrigger: only C and PL functions are supported"); + elog(ERROR, "CreateTrigger: only builtin, C and PL functions are supported"); } MemSet(nulls, ' ', Natts_pg_trigger * sizeof(char)); |