| From: | Tatsuo Ishii <ishii(at)postgresql(dot)org> |
|---|---|
| To: | david(at)fetter(dot)org |
| Cc: | ishii(at)postgresql(dot)org, tgl(at)sss(dot)pgh(dot)pa(dot)us, er(at)xs4all(dot)nl, pgsql-patches(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org, y-asaba(at)sraoss(dot)co(dot)jp |
| Subject: | Re: [PATCHES] WITH RECUSIVE patches 0717 |
| Date: | 2008-07-21 01:13:58 |
| Message-ID: | 20080721.101358.68047354.t-ishii@sraoss.co.jp |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers pgsql-patches |
> On Mon, Jul 21, 2008 at 08:19:35AM +0900, Tatsuo Ishii wrote:
> > > > Thus I think we should avoid this kind of ORDER BY. Probably we should
> > > > avoid LIMIT/OFFSET and FOR UPDATE as well.
> > >
> > > What of index-optimized SELECT max(...) ?
> >
> > Aggregate functions in a recursive term is prohibited by the
> > standard. For example,
> >
> > WITH RECURSIVE x(n) AS (SELECT 1 UNION ALL SELECT max(n) FROM x)
> > SELECT * FROM x;
> >
> > produces an error.
>
> On the other side of UNION ALL, it's OK, right? For example,
>
> WITH RECURSIVE x(n) AS (
> SELECT max(i) FROM t
> UNION ALL
> SELECT n+1 FROM x WHERE n < 20
> )
Yes, aggregate functions in the non-recursive term is allowed by the
standard.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Radek Strnad | 2008-07-21 01:15:56 | Re: [WIP] collation support revisited (phase 1) |
| Previous Message | David Fetter | 2008-07-21 00:00:05 | Re: [PATCHES] WITH RECUSIVE patches 0717 |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Stephen Frost | 2008-07-21 01:18:29 | Re: pg_dump additional options for performance |
| Previous Message | David Fetter | 2008-07-21 00:00:05 | Re: [PATCHES] WITH RECUSIVE patches 0717 |