From: Tom Lane Date: Wed, 14 Jun 2017 15:44:34 +0000 (-0400) Subject: Improve release note text about set-returning-function changes. X-Git-Tag: REL_10_BETA2~149 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a12c09ad86e60a8acb269744b8ee86429dda2cd8;p=postgresql Improve release note text about set-returning-function changes. Paul Ramsey griped about this awhile ago, but I'd been holding fire on changing it until we settled what to do about the CASE/COALESCE issue. Discussion: https://postgr.es/m/CACowWR0AMyUt5fwtvuDqWyYNdp-hQJj9XqSxJR6YM9sKWov=_w@mail.gmail.com --- diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml index b10086bdb0..75c48c0f59 100644 --- a/doc/src/sgml/release-10.sgml +++ b/doc/src/sgml/release-10.sgml @@ -129,18 +129,29 @@ - Allow COALESCE and CASE to return multiple - rows when evaluating set-returning functions (Andres Freund). + Change the implementation of set-returning functions appearing in + a query's SELECT list (Andres Freund) - This also prevents conditionals like CASE from - controlling the execution of set-returning functions because - set-returning functions are now executed earlier. + Set-returning functions are now evaluated before evaluation of scalar + expressions in the SELECT list, much as though they had + been placed in a LATERAL FROM-clause item. This allows + saner semantics for cases where multiple set-returning functions are + present. If they return different numbers of rows, the shorter results + are extended to match the longest result by adding nulls. Previously + the results were cycled until they all terminated at the same time, + producing a number of rows equal to the least common multiple of the + functions' periods. In addition, set-returning functions are now + disallowed within CASE and COALESCE constructs. + For more information + see . @@ -1701,20 +1712,6 @@ - - - - Fix check_srf_call_placement() to handle - VALUES cases correctly (Tom Lane) - - - - NEED TEXT. - - -