Re: ALTER TABLE DROP COLUMN

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp>
Cc: "Chris Bitmead" <chrisb(at)nimrod(dot)itg(dot)telstra(dot)com(dot)au>, "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, "PostgreSQL Development" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: ALTER TABLE DROP COLUMN
Date: 2000-06-13 03:54:06
Message-ID: 10290.960868446@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp> writes:
> create table t1 (i1 int4);
> create table t2 (i2 int4) inherits t1;
> create table t3 (i3 int4) inherits t2;
> alter table t1 add column i4 int4;

> For each table,the list of (column, logical number, physical number)
> would be as follows.

> t1 (i1, 1, 1) (i4, 2, 2)
> t2 (i1, 1, 1) (i4, 2, 3) (i2, 3, 2)
> t3 (i1, 1, 1) (i4, 2, 4) (i2, 3, 2) (i3, 4, 3)

> At this point the compilation of 'select * from t1(*?)' would mean
> select (physical #1),(physical #2) from t1 +
> select (physical #1),(physical #3) from t2 +
> select (physical #1),(physical #4) from t3

> Note that physical # aren't common for column i4.

That's no different from the current situation: the planner already must
(and does) adjust column numbers for each derived table while expanding
an inherited query. It's kind of a pain but hardly an insurmountable
problem.

Currently the matching is done by column name. We could possibly match
on logical column position instead --- not sure if that's better or
worse.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Lockhart 2000-06-13 05:51:33 Re: Doc updates for index cost estimator change
Previous Message Chris Bitmead 2000-06-13 03:19:57 Re: ALTER TABLE DROP COLUMN