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