Re: Re: [BUGS] BUG #7515: DROP TABLE IF EXISTS fails if schema does not exist
От | Pavel Stehule |
---|---|
Тема | Re: Re: [BUGS] BUG #7515: DROP TABLE IF EXISTS fails if schema does not exist |
Дата | |
Msg-id | CAFj8pRBfdFhgp2z=TJUV4_+17b5btbpmiU_FZp3iRkVZzRiy7g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [BUGS] BUG #7515: DROP TABLE IF EXISTS fails if schema does not exist (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-hackers |
2013/1/25 Bruce Momjian <bruce@momjian.us>: > On Sun, Sep 2, 2012 at 05:40:54PM +0000, james@illusorystudios.com wrote: >> The following bug has been logged on the website: >> >> Bug reference: 7515 >> Logged by: James Bellinger >> Email address: james@illusorystudios.com >> PostgreSQL version: 9.1.5 >> Operating system: Ubuntu Linux 12.04 Server >> Description: >> >> If the table being referenced has a schema in its name, and the schema does >> not exist, DROP TABLE IF EXISTS will have an ERROR instead of a NOTICE. >> >> So for instance, >> DROP TABLE IF EXISTS bar; >> This is a NOTICE if bar does not exist. >> >> DROP TABLE IF EXISTS foo.bar; >> This is an ERROR if foo does not exist, even though that implies bar does >> not exist which means it should be a NOTICE. >> >> Saw this because it was making a drop/recreate transaction fail on me, after >> I changed some code to use a schema. > > I looked at this bug report from September. The problem is that > LookupExplicitNamespace() doesn't have a missing_ok parameter, even > though get_namespace_oid(), which it calls, does. By adding a > missing_ok parameter and passing it cleanly, I fixed the problem: > > test=> DROP TABLE IF EXISTS foo.bar; > NOTICE: table "bar" does not exist, skipping > DROP TABLE > > Patch attached. > +1 Pavel > -- > Bruce Momjian <bruce@momjian.us> http://momjian.us > EnterpriseDB http://enterprisedb.com > > + It's impossible for everything to be true. + > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers >
В списке pgsql-hackers по дате отправления: