| From: | "Merlin Moncure" <mmoncure(at)gmail(dot)com> |
|---|---|
| To: | NikhilS <nikkhils(at)gmail(dot)com> |
| Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Bug about column references within subqueries used in selects |
| Date: | 2007-04-12 12:48:12 |
| Message-ID: | b42b73150704120548x68eab92bt1c796b4bd916650e@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 4/12/07, NikhilS <nikkhils(at)gmail(dot)com> wrote:
> Hi,
>
> Shouldn't the final command below cause a 'column "b" does not exist error'?
>
> create table update_test (a int, b int);
> create table supdate_test(x int, y int);
> insert into update_test values (20, 30);
> insert into supdate_test values (40, 50);
> select a, (select b from supdate_test) from update_test;
>
> a ?column?
> ---------- -------------------------
> 20 30
>
> Is the problem with the code in colNameToVar or maybe we should add checks
> in transformSubLink?
I don't think so...the columns of update_test are visible to the
scalar subquery...that way you can use fields from 'a' to filter the
subquery...
select a, (select y from supdate_test where x = a) from update_test;
merlin
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jim Nasby | 2007-04-12 12:51:06 | Re: elog(FATAL) vs shared memory |
| Previous Message | Alvaro Herrera | 2007-04-12 12:42:51 | Re: autovacuum multiworkers, patch 5 |