Skip site navigation (1) Skip section navigation (2)

Re: [BUG?] strange behavior in ALTER TABLE ... RENAME TO on inherited columns

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>
Cc: KaiGai Kohei <kaigai(at)kaigai(dot)gr(dot)jp>, Bernd Helmle <mailings(at)oopsware(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org, Thom Brown <thombrown(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Subject: Re: [BUG?] strange behavior in ALTER TABLE ... RENAME TO on inherited columns
Date: 2010-01-28 15:46:44
Message-ID: 603c8f071001280746j53e5383ev63254e041072d5a5@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-hackers
2010/1/27 KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>:
> Hmm, indeed, this logic (V3/V5) is busted.
>
> The idea of V4 patch can also handle this case correctly, although it
> is lesser in performance.
> I wonder whether it is really unacceptable cost in performance, or not.
> Basically, I assume ALTER TABLE RENAME/TYPE is not frequent operations,
> and I don't think this bugfix will damage to the reputation of PostgreSQL.
>
> Where should we go on the next?

Isn't the problem here just that the following comment is 100% wrong?

                /*
                 * Unlike find_all_inheritors(), we need to walk on
child relations
                 * that have diamond inheritance tree, because this
function has to
                 * return correct expected inhecount to the caller.
                 */

It seems to me that the right solution here is to just add one more
argument to find_all_inheritors(), something like List
**expected_inh_count.

Am I missing something?

...Robert

In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2010-01-28 15:46:47
Subject: Re: pgsql: Define INADDR_NONE on Solaris when it's missing.
Previous:From: Tim BunceDate: 2010-01-28 15:46:12
Subject: Add on_perl_init and proper destruction to plperl UPDATED [PATCH]

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group