Hello,

I've been reading the earlier threads at:
http://archives.postgresql.org/pgsql-hackers/2009-05/thrd7.php#00252
http://archives.postgresql.org/pgsql-hackers/2005-10/thrd4.php#00632
and I'm not sure I have anything that substantially new to add but:

1. I can't see there's an unambiguity about what the syntax would do. It is IF 
NOT EXISTS, not IF NOT LIKE. Anyone who shoots themselves in the foot by 
calling a CINE and thinking that a preexisting differently defined column is 
magically converted deserves it. Either it should act exactly like the non-CINE 
command, or do nothing at all as if the statement wasn't there.

2. The use case is pretty clear to me - flexible scripts that'll bring all 
earlier database versions to the latest schema. I've been experimenting in 9.0 
alpha with calling DROP CONSTRAINT IF EXISTS then ADD CONSTRAINT with named 
constants for a CINE effect. which as a side effect will correct any updated 
constraints too - and it works great. Unfortunately DROP COLUMN IF EXISTS then 
ADD COLUMN has the side effect of deleting all the data, so that's hardly 
usable.

I saw some indications that this might be a minority opinion, well I would like 
to cast a vote FOR this functionality. The workarounds are ugly, the solution 
simple and while I agree it's possible to misuse it, my opinion is that you 
shouldn't become a surgeon if you can't handle a scalpel. In this case I get 
the feeling I'm reading instructions on how to do surgery with a butter knife 
because we don't dare hand out anything sharper.

Regards,
Kjell Rune Skaaraas



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to