2018-07-04 23:17 GMT+02:00 Tom Lane <t...@sss.pgh.pa.us>:

> Robert Haas <robertmh...@gmail.com> writes:
> > Another possibility that would also seem to meet the OP's needs is to
> > make it do this:
>
> > DROP TABLE IF EXISTS X;
> > NOTICE:  relation "X" is not a table, skipping
>
> > His complaint was really that it generated an ERROR, IIUC.
>
> While that would perhaps meet the OP's desires, it still seems like
> a strange definition of "IF EXISTS" to me.  That's supposed to be an
> escape hatch for "object does not exist", not for other error types.
>
> The long and short of it is that I'm not dissatisfied with the way
> this works now, and given the lack of previous complaints, not
> many other people are either.  So I do not think this is a bug fix;
> it's a definition disagreement.  I'm inclined to think that the
> principle of "stare decisis" ought to apply here --- once we've let
> a particular behavior stand for N release cycles, it should take
> more than one or two people objecting to change it, because
> backwards compatibility.
>
> Also, based on other messages, it seems like what the OP wants is
> to be sure that "CREATE TABLE X" will succeed afterwards, so that
> failing to get rid of view X will not do what he needs.
> There might be some merit in pursuing the DROP RELATION idea that
> was floated earlier.  That seems analogous to DROP ROUTINE, which
> is dealing with a related case and apparently is standards-compliant.
>

+1 DROP ROUTINE proposal

Regards

Pavel


>                         regards, tom lane
>

Reply via email to