Re: [BUG?] strange behavior in ALTER TABLE ... RENAME TO on inherited columns
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: KaiGai Kohei <kaigai@ak.jp.nec.com>
Cc: KaiGai Kohei <kaigai@kaigai.gr.jp>, Bernd Helmle <mailings@oopsware.de>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org, Thom Brown <thombrown@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>
Date: 2010-02-01T18:01:21Z
Lists: pgsql-hackers
Attachments
- fix-inherit-rename-rmh.patch (text/x-patch) patch
2010/1/31 KaiGai Kohei <kaigai@ak.jp.nec.com>: > The attached patch modified find_all_inheritors() to return the list of > expected inhcount, if List * pointer is given. And, it focuses on only > the bugs in renameatt() case. I have cleaned up and simplified this patch. Attached is the version I intend to commit. Changes: - make find_all_inheritors return the list of OIDs, as previously, instead of using an out parameter - undo some useless variable renamings - undo some useless whitespace changes - rework comments - fix regression tests to avoid using the same alias twice in the same query - add an ORDER BY clause to the regression tests so that they pass on my machine - improve the names of some of the new variables - instead of adding an additional argument to renameatt(), just replace the existing 'bool recursing' with 'int expected_parents'. This allows merging the two versions of the "cannot rename inherited column" message together, which seems like a reasonably good idea to me, though if someone has a better idea that's fine. I didn't think the one additional word added to the message provided enough clarity to make it worth creating another translatable string. > Also, the ALTER COLUMN TYPE case should be also fixed in the 9.1 release > (or 9.0.1?). If the fix is something we could commit for 9.0.1, then we ought to do it now before 9.0 is released. If you want to submit a follow-on patch to address ALTER COLUMN TYPE once this is committed, then please do so. ...Robert