Skip site navigation (1) Skip section navigation (2)

Re: [HACKERS] Hirarchical queries a la Oracle. Patch.

From: Hannu Krosing <hannu(at)tm(dot)ee>
To: Evgen Potemkin <evgent(at)ns(dot)terminal(dot)ru>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: [HACKERS] Hirarchical queries a la Oracle. Patch.
Date: 2002-11-26 22:21:48
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-patches
I re-send this to -patches as I see that there has been some discussion
on this, though I think that the whole things should have been discussed 
in -hackers first.

Evgen Potemkin kirjutas R, 22.11.2002 kell 15:57:
> Hi there!
> Patch is posted to pgsql-patches. docs inside.

It would of course be nice to support both Oracle and ISO/ANSI syntaxes,
but I'm afraid that the (+) may clash with our overloadable operators

> SQL 99 version will be later.

I attach a railroad diagram of SQL99 "WITH RECURSIVE" and a diff against
mid-summer gram.y which implements half of SQL99 _syntax_ (just the WITH
{RECURSIVE} part, SEARCH (tree search order order) and CYCLE (recursion
control) clauses are missing).

WITH clause seems to be quite useful in its own right as well, not just
for recursive queries, so I guess that someone with a good feel of
postgresql internals could get plain WITH working quite fast -

The main difference between subqueries defined in WITH clause and in
FROM clause is that while subqueries in FROM don't see each other in
their namespaces, the ones in WITH either see all preceeding ones (plain
with) or all in WITH clause (WITH RECURSIVE)

I myself got stuck in the part where the parse-tree was turned into a 
query tree and as I was off-net, I could not ask ;( . 
Later I was out of time again. ;( ;(


Attachment: with_clause.gif
Description: image/gif (14.6 KB) (inlined above)
Attachment: with.clause.diff
Description: text/plain (2.8 KB)

pgsql-patches by date

Next:From: Fernando NasserDate: 2002-11-26 23:27:43
Subject: Re: Hierarchical queries a la Oracle. Patch.
Previous:From: Bruce MomjianDate: 2002-11-26 19:21:01
Subject: Re: release note fixes (7.3 & HEAD)

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group