diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2014-01-23 14:40:29 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2014-01-23 14:40:29 -0300 |
commit | b152c6cd0de1827ba58756e24e18110cf902182a (patch) | |
tree | 82d0ced551764509a60014e9996f3b4d634b4071 /src/backend/parser/parse_oper.c | |
parent | 9f80f4835a55a1cbffcda5d23a617917f3286c14 (diff) | |
download | postgresql-b152c6cd0de1827ba58756e24e18110cf902182a.tar.gz postgresql-b152c6cd0de1827ba58756e24e18110cf902182a.zip |
Make DROP IF EXISTS more consistently not fail
Some cases were still reporting errors and aborting, instead of a NOTICE
that the object was being skipped. This makes it more difficult to
cleanly handle pg_dump --clean, so change that to instead skip missing
objects properly.
Per bug #7873 reported by Dave Rolsky; apparently this affects a large
number of users.
Authors: Pavel Stehule and Dean Rasheed. Some tweaks by Álvaro Herrera
Diffstat (limited to 'src/backend/parser/parse_oper.c')
-rw-r--r-- | src/backend/parser/parse_oper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/parser/parse_oper.c b/src/backend/parser/parse_oper.c index 387f7fd0b36..99dbd30d758 100644 --- a/src/backend/parser/parse_oper.c +++ b/src/backend/parser/parse_oper.c @@ -148,12 +148,12 @@ LookupOperNameTypeNames(ParseState *pstate, List *opername, if (oprleft == NULL) leftoid = InvalidOid; else - leftoid = typenameTypeId(pstate, oprleft); + leftoid = LookupTypeNameOid(pstate, oprleft, noError); if (oprright == NULL) rightoid = InvalidOid; else - rightoid = typenameTypeId(pstate, oprright); + rightoid = LookupTypeNameOid(pstate, oprright, noError); return LookupOperName(pstate, opername, leftoid, rightoid, noError, location); |