Tom Lane wrote:
Good point - there are better places to spend time, and I imagine it'd be an expensive thing to check too.No, not at the moment. In principle the planner could look for such duplicates, but it'd be wasted cycles so much of the time that I'd be loath to do it.
Yes, it would. In fact, I was thinking about the syntax seen in some functional languages - like Haskell's `where' clause - that defines a subexpression available to all parts of the expression. If the SQL:2003 WITH expression is anything like that it'd be very handy indeed.There is work afoot to implement the SQL:2003 "WITH" syntax, which I think would offer a syntactic solution to your problem.
-- Craig Ringer