Re: WIP: Hierarchical Queries - stage 1

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mark Cave-Ayland <mark(dot)cave-ayland(at)ilande(dot)co(dot)uk>
Cc: pgsql-hackers(at)postgresql(dot)org, pgsql-patches(at)postgresql(dot)org
Subject: Re: WIP: Hierarchical Queries - stage 1
Date: 2006-09-22 14:02:33
Message-ID: 25922.1158933753@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Mark Cave-Ayland <mark(dot)cave-ayland(at)ilande(dot)co(dot)uk> writes:
> The main problem I can see with keeping the CTEs outside the rangetable
> is that according to the source, jointree nodes must currently have
> RANGETBLREF nodes as leaf nodes; as I understand it, your suggestion of
> maintaining the CTEs separately would involve something along the lines
> of keeping a separate CTETable and creating some form of CTETBLREF node
> that could be referenced within the jointree.

No, what I'm thinking is that a *reference* to a CTE, from within the
main query's FROM list, would create a "CTERef" RTE and then you'd have
a normal RANGETBLREF node linking to that in the jointree. This solves
the problem of where do you put the alias: on the RTE. What's not clear
to me at this point is whether there can be multiple references in a
query to the same CTE --- if there can, I suspect you must have a data
structure like this.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2006-09-22 14:25:58 Re: 8.3 Development Cycle
Previous Message Dave Page 2006-09-22 13:16:53 8.3 Development Cycle

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2006-09-22 14:44:04 Re: [PATCHES] Include file in regress.c
Previous Message Magnus Hagander 2006-09-22 11:09:42 Re: [PATCHES] Include file in regress.c