Mark Cave-Ayland <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings