diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-08-22 00:01:51 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-08-22 00:01:51 +0000 |
commit | b663f3443ba096a06970214c3e83e79f6e570b84 (patch) | |
tree | 049e26c1b02535c12bee6e60ba89cf1d42a41a72 /src/backend/commands/trigger.c | |
parent | 606c9b9d4fafe9300d039c044edc9727c0ed43c9 (diff) | |
download | postgresql-b663f3443ba096a06970214c3e83e79f6e570b84.tar.gz postgresql-b663f3443ba096a06970214c3e83e79f6e570b84.zip |
Add a bunch of pseudo-types to replace the behavior formerly associated
with OPAQUE, as per recent pghackers discussion. I still want to do some
more work on the 'cstring' pseudo-type, but I'm going to commit the bulk
of the changes now before the tree starts shifting under me ...
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 312bad43525..82feb9333d7 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.127 2002/08/18 11:20:05 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.128 2002/08/22 00:01:42 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -23,6 +23,7 @@ #include "catalog/pg_language.h" #include "catalog/pg_proc.h" #include "catalog/pg_trigger.h" +#include "catalog/pg_type.h" #include "commands/trigger.h" #include "executor/executor.h" #include "miscadmin.h" @@ -222,9 +223,15 @@ CreateTrigger(CreateTrigStmt *stmt, bool forConstraint) if (!HeapTupleIsValid(tuple)) elog(ERROR, "CreateTrigger: function %s() does not exist", NameListToString(stmt->funcname)); - if (((Form_pg_proc) GETSTRUCT(tuple))->prorettype != 0) - elog(ERROR, "CreateTrigger: function %s() must return OPAQUE", - NameListToString(stmt->funcname)); + if (((Form_pg_proc) GETSTRUCT(tuple))->prorettype != TRIGGEROID) + { + /* OPAQUE is deprecated, but allowed for backwards compatibility */ + if (((Form_pg_proc) GETSTRUCT(tuple))->prorettype == OPAQUEOID) + elog(NOTICE, "CreateTrigger: OPAQUE is deprecated, use type TRIGGER instead to define trigger functions"); + else + elog(ERROR, "CreateTrigger: function %s() must return TRIGGER", + NameListToString(stmt->funcname)); + } ReleaseSysCache(tuple); /* |