Re: [HACKERS] WITH RECURSIVE patches 0818

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: david(at)fetter(dot)org
Cc: pgsql-patches(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] WITH RECURSIVE patches 0818
Date: 2008-08-19 07:49:55
Message-ID: 20080819.164955.23011696.t-ishii@sraoss.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

> I think I may have found another bug:
>
> WITH RECURSIVE t(i,j) AS (
> VALUES (1,2)
> UNION ALL
> SELECT t2.i, t.j
> FROM (
> SELECT 2 AS i
> UNION ALL /* Wrongly getting detected, I think */
> SELECT 3 AS i
> ) AS t2
> JOIN
> t
> ON (t2.i = t.i)
> )
> SELECT * FROM t;
> ERROR: attribute number 2 exceeds number of columns 1
>
> Is there some way to ensure that in the case of WITH RECURSIVE, the
> query to the right of UNION ALL follows only the SQL:2008 rules about
> not having outer JOINs, etc. in it, but otherwise make it opaque to
> the error-checking code?
>
> I know I didn't explain that well, but the above SQL should work and
> the error appears to stem from the parser's looking at the innermost
> UNION ALL instead of the outermost.

Thanks for the report. I will look into this.
--
Tatsuo Ishii
SRA OSS, Inc. Japan

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2008-08-19 08:09:41 Re: Overhauling GUCS
Previous Message Pavel Stehule 2008-08-19 07:45:54 possible minor EXPLAIN bug?

Browse pgsql-patches by date

  From Date Subject
Next Message Xiao Meng 2008-08-19 09:28:38 Re: hash index improving v3
Previous Message David Fetter 2008-08-19 05:14:14 Re: [HACKERS] WITH RECURSIVE patches 0818