diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2006-06-16 20:23:45 +0000 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2006-06-16 20:23:45 +0000 |
commit | bbcd01692bff099117f5afb0fe2d1ad182621766 (patch) | |
tree | 07aebd51aac35be3e0e4471cbff7595a35350d67 /src/backend/commands/proclang.c | |
parent | e79cc2db00501fb29e3e0225182147192e830fa1 (diff) | |
download | postgresql-bbcd01692bff099117f5afb0fe2d1ad182621766.tar.gz postgresql-bbcd01692bff099117f5afb0fe2d1ad182621766.zip |
DROP ... IF EXISTS for the following cases:
language, tablespace, trigger, rule, opclass, function, aggregate. operator, and cast.
Diffstat (limited to 'src/backend/commands/proclang.c')
-rw-r--r-- | src/backend/commands/proclang.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/backend/commands/proclang.c b/src/backend/commands/proclang.c index 801ccb13ec3..e661d45239a 100644 --- a/src/backend/commands/proclang.c +++ b/src/backend/commands/proclang.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/proclang.c,v 1.64 2006/03/05 15:58:24 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/proclang.c,v 1.65 2006/06/16 20:23:44 adunstan Exp $ * *------------------------------------------------------------------------- */ @@ -396,9 +396,18 @@ DropProceduralLanguage(DropPLangStmt *stmt) CStringGetDatum(languageName), 0, 0, 0); if (!HeapTupleIsValid(langTup)) - ereport(ERROR, - (errcode(ERRCODE_UNDEFINED_OBJECT), - errmsg("language \"%s\" does not exist", languageName))); + { + if (! stmt->missing_ok) + ereport(ERROR, + (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("language \"%s\" does not exist", languageName))); + else + ereport(NOTICE, + (errmsg("language \"%s\" does not exist ... skipping", + languageName))); + + return; + } object.classId = LanguageRelationId; object.objectId = HeapTupleGetOid(langTup); |