Generate distinct error messages for trigger function not found
authorTom Lane
Thu, 20 May 1999 14:39:49 +0000 (14:39 +0000)
committerTom Lane
Thu, 20 May 1999 14:39:49 +0000 (14:39 +0000)
and trigger function found but returns wrong type.

src/backend/commands/trigger.c

index 7299a7660a6676433139c293783113b8baac9145..09b7fdcbc3d0816518a214e52a99666c3f988c0d 100644 (file)
@@ -138,10 +138,12 @@ CreateTrigger(CreateTrigStmt *stmt)
                                PointerGetDatum(fargtypes),
                                0);
    if (!HeapTupleIsValid(tuple) ||
-       ((Form_pg_proc) GETSTRUCT(tuple))->prorettype != 0 ||
        ((Form_pg_proc) GETSTRUCT(tuple))->pronargs != 0)
-       elog(ERROR, "CreateTrigger: function %s () does not exist", stmt->funcname);
-
+       elog(ERROR, "CreateTrigger: function %s() does not exist",
+            stmt->funcname);
+   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)
    {
        HeapTuple   langTup;