Re: [BUG?] strange behavior in ALTER TABLE ... RENAME TO on inherited columns
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: KaiGai Kohei <kaigai@ak.jp.nec.com>, KaiGai Kohei <kaigai@kaigai.gr.jp>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Thom Brown <thombrown@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>
Date: 2010-01-04T18:19:55Z
Lists: pgsql-hackers
On Sun, Jan 3, 2010 at 11:18 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> 2010/1/3 KaiGai Kohei <kaigai@ak.jp.nec.com>: >>> if (number_of_attribute_origin(myrelid, oldattname) > 1) >>> ereport(ERROR, ...); >>> >>> Am I missing something? > >> That sounds about right to me, > > It looks remarkably inefficient to me. Do you propose to search the > entire database's inheritance tree to derive that number? And do it > over again at each child table? The method I suggested would allow the > necessary information to be extracted during the initial search for > child tables, which we have to do anyway. I haven't read the code in enough detail to have an educated opinion about whether that would induce enough overhead to be worth worrying about it, so I will refrain from comment on this until I have done my homework. ...Robert