Skip to content

Commit 6e8516e

Browse files
committed
Doc: clarify use of RECURSIVE in WITH.
Apparently some people misinterpreted the syntax as being that RECURSIVE is a prefix of individual WITH queries. It's a modifier for the WITH clause as a whole, so state that more clearly. Discussion: https://postgr.es/m/ca53c6ce-a0c6-b14a-a8e3-162f0b2cc119@a-kretschmer.de
1 parent e5df9bb commit 6e8516e

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

doc/src/sgml/ref/select.sgml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,14 @@ TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ]
271271
reads all or any of their output.
272272
</para>
273273

274+
<para>
275+
When there are multiple queries in the <literal>WITH</literal>
276+
clause, <literal>RECURSIVE</literal> should be written only once,
277+
immediately after <literal>WITH</literal>. It applies to all queries
278+
in the <literal>WITH</literal> clause, though it has no effect on
279+
queries that do not use recursion or forward references.
280+
</para>
281+
274282
<para>
275283
The primary query and the <literal>WITH</literal> queries are all
276284
(notionally) executed at the same time. This implies that the effects of

0 commit comments

Comments
 (0)