postgres.git / summary / log / commit / refs

commit    9dee85b5b83310598c66efc9322ed6792c77fa78
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sun Aug 30 20:03:19 2020 +0000
First released in: 14.0, 9.5.24, 9.6.20, 10.15, 11.10, 12.5, 13.0

    Mark factorial operator, and postfix operators in general, as deprecated.
    
    Back-patch key parts of 4c5cf5431 and 6ca547cf7 into stable branches.
    I didn't touch pg_description entries here, so it's purely a docs
    change; and I didn't fool with any examples either.  The main point
    is so that anyone who's wondering if factorial() exists in the stable
    branches will be reassured.
    
    Mark Dilger and John Naylor, with some adjustments by me
    
    Discussion: https://postgr.es/m/BE2DF53D-251A-4E26-972F-930E523580E9@enterprisedb.com


doc/src/sgml/func.sgml | 19 +++++++++++++++++-- doc/src/sgml/ref/create_operator.sgml | 9 ++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 511c703e627..cd1c4ebd764 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -666,14 +666,16 @@ <row> <entry> <literal>!</literal> </entry> - <entry>factorial</entry> + <entry>factorial + (deprecated, use <function>factorial()</function> instead)</entry> <entry><literal>5 !</literal></entry> <entry><literal>120</literal></entry> </row> <row> <entry> <literal>!!</literal> </entry> - <entry>factorial (prefix operator)</entry> + <entry>factorial as a prefix operator + (deprecated, use <function>factorial()</function> instead)</entry> <entry><literal>!! 5</literal></entry> <entry><literal>120</literal></entry> </row> @@ -856,6 +858,19 @@ <entry><literal>2.71828182845905</literal></entry> </row> + <row> + <entry> + <indexterm> + <primary>factorial</primary> + </indexterm> + <literal><function>factorial(<type>bigint</type>)</function></literal> + </entry> + <entry><type>numeric</type></entry> + <entry>factorial</entry> + <entry><literal>factorial(5)</literal></entry> + <entry><literal>120</literal></entry> + </row> + <row> <entry> <indexterm> diff --git a/doc/src/sgml/ref/create_operator.sgml b/doc/src/sgml/ref/create_operator.sgml index d5c385c087f..66c34e0072f 100644 --- a/doc/src/sgml/ref/create_operator.sgml +++ b/doc/src/sgml/ref/create_operator.sgml @@ -87,11 +87,18 @@ CREATE OPERATOR <replaceable>name</replaceable> ( <para> At least one of <literal>LEFTARG</literal> and <literal>RIGHTARG</literal> must be defined. For - binary operators, both must be defined. For right unary + binary operators, both must be defined. For right unary operators, only <literal>LEFTARG</literal> should be defined, while for left unary operators only <literal>RIGHTARG</literal> should be defined. </para> + <note> + <para> + Right unary, also called postfix, operators are deprecated and will be + removed in <productname>PostgreSQL</productname> version 14. + </para> + </note> + <para> The <replaceable class="parameter">function_name</replaceable> function must have been previously defined using <command>CREATE [parent: ff3c16d1e751]