On 3/6/19 10:24 AM, Chapman Flack wrote: > On 3/6/19 10:12 AM, Andrew Dunstan wrote: > >> Having reviewed the thread, I'm with Andres and Tom. Maybe though we >> should have a note somewhere to the effect that you can't use VARIADIC >> with these. > Perhaps such a note belongs hoisted into the functions-conditional > section of the manual, making a general observation that these things > are conditional *expressions* that may resemble functions, but in > particular, COALESCE, GREATEST, and LEAST cannot be called with > keyword VARIADIC and an array argument, as they could if they were > ordinary functions. >
I'm going to mark this as rejected. Here's a possible doc patch cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 03859a78ea..7fbcdfeae5 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -12481,6 +12481,15 @@ SELECT setval('foo', 42, false); <lineannotation>Next <function>nextval</func </para> </tip> + <note> + <para> + Although <token>COALESCE</token>, <token>GREATEST</token>, and + <token>LEAST</token> are syntactically similar to functions, they are + not strictly functions, and thus cannot be used with explicit + <token>VARIADIC</token> array arguments. + </para> + </note> + <sect2 id="functions-case"> <title><literal>CASE</literal></title>