ALTER TABLE table RENAME COLUMN x TO y
От | Donald Fraser |
---|---|
Тема | ALTER TABLE table RENAME COLUMN x TO y |
Дата | |
Msg-id | 004a01c36009$a79a1110$1664a8c0@DEMOLITION обсуждение исходный текст |
Ответы |
Re: ALTER TABLE table RENAME COLUMN x TO y
|
Список | pgsql-bugs |
PostgreSQL version 7.3.3, GCC 2.96, Redhat 7.2 When issuing the following type of command: ALTER TABLE table RENAME COLUMN x TO y The column name change is not cascading through to RULEs on a VIEW. For example I had a column named "id_security" in TABLE "tbl_valrule" and I had a RULE on a view that stated: CREATE RULE rul_i03 AS ON INSERT TO vu_tbl_valrule DO INSTEAD INSERT INTO tbl_valrule (id_security, id_valmonthend, n_lagdays ) VALUES (new.id_security, new.id_valmonthend, new.n_lagdays ); After issuing the following command: ALTER TABLE tbl_valrule RENAME COLUMN id_security TO id_seclass; The Rule stated above never changed. I noted that the underlying SELECT rule (rule name _RETURN) for the view changed by replacing the column named "id_security" to "id_seclass AS id_security". Regards Donald Fraser Ps. The way I checked that the Rule had changed was by issuing the following command. SELECT r.rulename, pg_get_ruledef(r.oid) AS definition FROM pg_class AS c, pg_rewrite AS r WHERE r.ev_class = c.oid AND c.relname = 'vu_tbl_valrule' ORDER BY r.rulename
В списке pgsql-bugs по дате отправления: