Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist

From: Satoshi Nagayasu <snaga(at)uptime(dot)jp>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: Josh Kupershmidt <schmiddy(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>, Dave Rolsky <autarch(at)urth(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist
Date: 2013-09-16 07:19:55
Message-ID: 5236B11B.8040700@uptime.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

(2013/07/06 1:16), Pavel Stehule wrote:
> I am sending a patch that removes strict requirements for DROP IF
> EXISTS statements. This behave is similar to our ALTER IF EXISTS
> behave now.
>
>
> postgres=# DROP CAST IF EXISTS (sss AS public.casttesttype);
> NOTICE: types "sss" and "public.casttesttype" does not exist, skipping
> DROP CAST
> postgres=# DROP FUNCTION IF EXISTS public.pt_in_widget(point, widget);
> NOTICE: function public.pt_in_widget(point,widget) does not exist, skipping
> DROP FUNCTION
> postgres=# DROP OPERATOR IF EXISTS public.<% (point, widget);
> NOTICE: operator public.<% does not exist, skipping
> DROP OPERATOR
> postgres=# DROP TRIGGER test_trigger_exists ON no_such_table;
> ERROR: relation "no_such_table" does not exist
> postgres=# DROP TRIGGER IF EXISTS test_trigger_exists ON no_such_table;
> NOTICE: trigger "test_trigger_exists" for table "no_such_table" does
> not exist, skipping
> DROP TRIGGER
>
> This functionality is necessary for correct quite reload from dump
> without possible warnings

I'm looking at this patch, and I have a question here.

Should "DROP TRIGGER IF EXISTS" ignore error for non-existing trigger
and non-existing table? Or just only for non-existing trigger?

I've not understood the pg_restore issue precisely so far,
but IMHO "DROP TRIGGER IF EXISTS" means "if the _trigger_ exists",
not "if the _table_ exists".

Is this a correct and/or an expected behavior?

Sorry if I missed some consensus which we already made.

Any comments?

Regards,
--
Satoshi Nagayasu <snaga(at)uptime(dot)jp>
Uptime Technologies, LLC. http://www.uptime.jp

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message j.romero 2013-09-16 08:40:57 BUG #8455: spanish pgadmin3.mo
Previous Message Tomas Vondra 2013-09-16 00:46:38 Re: BUG #8451: quantile extension: memory corruption?

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2013-09-16 07:43:30 Re: GIN improvements part 1: additional information
Previous Message Ronan Dunklau 2013-09-16 07:05:45 Re: Triggers on foreign tables