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
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 |