Re: [8.4] Updated WITH clause patch (non-recursive) - Mailing list pgsql-patches

From Neil Conway
Subject Re: [8.4] Updated WITH clause patch (non-recursive)
Date
Msg-id 1201426578.1204.49.camel@goldbach
Whole thread Raw
In response to Re: [8.4] Updated WITH clause patch (non-recursive)  (Gregory Stark <stark@enterprisedb.com>)
Responses Re: [8.4] Updated WITH clause patch (non-recursive)  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Re: [8.4] Updated WITH clause patch (non-recursive)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
On Sun, 2008-01-27 at 09:17 +0000, Gregory Stark wrote:
> Tom's feeling at the time was that even though it was providing something from
> the standard, it wasn't actually allowing the user to do anything he couldn't
> before.

I think this feature has value:

(1) This is SQL-standard syntax (and not even wacko syntax, at that!),
and there is merit in implementing it on those grounds alone.

(2) It is supported by DB2, MS SQL and Oracle, so there is a further
compatibility argument to be made.

(3) It avoids the need to repeat subqueries multiple times in the main
query, which can make queries more concise. Defining subqueries outside
the main SELECT body can also have readability advantages.

> If it doesn't provide any additional expressive capabilities then I
> think he didn't like taking "with" as a reserved word.

Note that we can make WITH a type_func_name_keyword, rather than a
full-on reserved_keyword, which reduces the force of this argument
slightly.

If we're going to implement recursive queries eventually (which we
almost surely will, whether in 8.4 or a future release), we'll need to
make WITH more reserved at some point anyway, so I don't see much to be
gained in the long run by delaying it.

-Neil



pgsql-patches by date:

Previous
From: Gregory Stark
Date:
Subject: Re: [8.4] Updated WITH clause patch (non-recursive)
Next
From: "Pavel Stehule"
Date:
Subject: Re: [8.4] Updated WITH clause patch (non-recursive)