Re: drop if exists

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: drop if exists
Date: 2005-10-15 14:22:01
Message-ID: 43511089.9010208@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera wrote:

>Andrew Dunstan wrote:
>
>
>>From time to time the suggestion crops up of allowing a DROP IF EXISTS
>>... syntax. This seems not unreasonable, and I just spent a few minutes
>>looking at what might be involved.
>>
>>
>
>What about "CREATE IF NOT EXISTS" (CINE)? If we support DROP IF EXISTS
>(DIE), is the other one going to be supported too?
>
>

Maybe. But I am not sure they need to be done together.

>How does this play with schemas? I assume DIE drops the table in any
>schema in the search path. What if there's more than one; drop the
>first one?
>

Yes. Just like now. My idea was that at the point where it currently
errors out because the object exists, we would instead simply fall
through and take no action.

>CINE creates the schema in the first schema in the path,
>just like CREATE.
>
>
>Also, DIE does not need to lock the table afterwards because it won't
>exist, but CINE needs to keep a lock until transaction commit.
>
>

Right. That's one reason I thought of starting with the DIE case ;-)

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Martijn van Oosterhout 2005-10-15 15:20:06 Re: drop if exists
Previous Message Andrew Dunstan 2005-10-15 14:12:45 Re: drop if exists