Add column if not exists (CINE)
От | Kjell Rune Skaaraas |
---|---|
Тема | Add column if not exists (CINE) |
Дата | |
Msg-id | 467881.79137.qm@web27104.mail.ukl.yahoo.com обсуждение исходный текст |
Ответы |
Re: Add column if not exists (CINE)
Re: Add column if not exists (CINE) |
Список | pgsql-hackers |
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 shootsthemselves in the foot by calling a CINE and thinking that a preexisting differently defined column is magically converteddeserves it. Either it should act exactly like the non-CINE command, or do nothing at all as if the statement wasn'tthere. 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 constantsfor a CINE effect. which as a side effect will correct any updated constraints too - and it works great. UnfortunatelyDROP 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. Theworkarounds are ugly, the solution simple and while I agree it's possible to misuse it, my opinion is that you shouldn'tbecome a surgeon if you can't handle a scalpel. In this case I get the feeling I'm reading instructions on how todo surgery with a butter knife because we don't dare hand out anything sharper. Regards, Kjell Rune Skaaraas
В списке pgsql-hackers по дате отправления: