On 2020-04-29 07:09, Fabien COELHO wrote:
I'm wondering about how to use such a feature in the context of WITH query with several queries having different behaviors. Currently "WITH" introduces a named-query (like a view), "WITH RECURSIVE" introduces a mix of recursive and named queries, pg really sees whether each one is recursive or not, and "RECURSIVE" is required but could just be guessed.
Yeah the RECURSIVE vs ITERATIVE is a bit of a red herring here. As you say, the RECURSIVE keyword doesn't specify the processing but marks the fact that the specification of the query is recursive.
I think a syntax that would fit better within the existing framework would be something like
WITH RECURSIVE t AS ( SELECT base case REPLACE ALL -- instead of UNION ALL SELECT recursive case ) -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services