]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Doc: clarify use of RECURSIVE in WITH.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 Nov 2019 19:43:37 +0000 (14:43 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 Nov 2019 19:43:37 +0000 (14:43 -0500)
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

doc/src/sgml/ref/select.sgml

index 4c8b6f1e73d31076f320502e272f500b7ae3d478..ec3bb2bd457f00ad22a077a17fef1160a200ea7b 100644 (file)
@@ -281,6 +281,14 @@ TABLE [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ]
     reads all or any of their output.
    </para>
 
+   <para>
+    When there are multiple queries in the <literal>WITH</literal>
+    clause, <literal>RECURSIVE</literal> should be written only once,
+    immediately after <literal>WITH</literal>.  It applies to all queries
+    in the <literal>WITH</literal> clause, though it has no effect on
+    queries that do not use recursion or forward references.
+   </para>
+
    <para>
     The primary query and the <literal>WITH</literal> queries are all
     (notionally) executed at the same time.  This implies that the effects of