From 980261929f2b8c40d6be1979ff81c943cad907b3 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 21 Oct 2011 09:10:46 -0400 Subject: Fix DROP OPERATOR FAMILY IF EXISTS. Essentially, the "IF EXISTS" portion was being ignored, and an error thrown anyway if the opfamily did not exist. I broke this in commit fd1843ff8979c0461fb3f1a9eab61140c977e32d; so backpatch to 9.1.X. Report and diagnosis by KaiGai Kohei. --- src/backend/commands/opclasscmds.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/backend/commands/opclasscmds.c') diff --git a/src/backend/commands/opclasscmds.c b/src/backend/commands/opclasscmds.c index 5dde78abc9a..af0de05a032 100644 --- a/src/backend/commands/opclasscmds.c +++ b/src/backend/commands/opclasscmds.c @@ -1613,10 +1613,9 @@ RemoveOpFamily(RemoveOpFamilyStmt *stmt) tuple = OpFamilyCacheLookup(amID, stmt->opfamilyname, stmt->missing_ok); if (!HeapTupleIsValid(tuple)) { - ereport(ERROR, - (errcode(ERRCODE_UNDEFINED_OBJECT), - errmsg("operator family \"%s\" does not exist for access method \"%s\"", - NameListToString(stmt->opfamilyname), stmt->amname))); + ereport(NOTICE, + (errmsg("operator family \"%s\" does not exist for access method \"%s\", skipping", + NameListToString(stmt->opfamilyname), stmt->amname))); return; } -- cgit v1.2.3