postgres.git / summary / log / commit / refs

commit    7a0541301078bdd0fb548141c43b335fbabcaf81
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sun Apr 07 19:36:08 2024 +0000

    Doc: update documentation about EXCLUDE constraint elements.
    
    What the documentation calls an exclude_element is an index_elem
    according to gram.y, and it allows all the same options that
    a CREATE INDEX column specification does.  The COLLATE patch
    neglected to update the CREATE/ALTER TABLE docs about that,
    and later the opclass-parameters patch made the same oversight.
    Add those options to the syntax synopses, and polish the
    associated text a bit.
    
    Back-patch to v13 where opclass parameters came in.  We could
    update v12 with just the COLLATE omission, but it doesn't quite
    seem worth the trouble at this point.
    
    Shihao Zhong, reviewed by Daniel Vérité, Shubham Khanna and myself
    
    Discussion: https://postgr.es/m/CAGRkXqShbVyB8E3gapfdtuwiWTiK=Q67Qb9qwxu=+-w0w46EBA@mail.gmail.com


doc/src/sgml/ref/alter_table.sgml | 2 +- doc/src/sgml/ref/create_table.sgml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index 6292c4774a5..906a4dd3e94 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -133,7 +133,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM <phrase><replaceable class="parameter">exclude_element</replaceable> in an <literal>EXCLUDE</literal> constraint is:</phrase> -{ <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ <replaceable class="parameter">opclass</replaceable> ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] +{ <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> [ ( <replaceable class="parameter">opclass_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] </synopsis> </refsynopsisdiv> diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml index a538283d8ec..a119cb1e26a 100644 --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml @@ -104,7 +104,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM <phrase><replaceable class="parameter">exclude_element</replaceable> in an <literal>EXCLUDE</literal> constraint is:</phrase> -{ <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ <replaceable class="parameter">opclass</replaceable> ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] +{ <replaceable class="parameter">column_name</replaceable> | ( <replaceable class="parameter">expression</replaceable> ) } [ COLLATE <replaceable class="parameter">collation</replaceable> ] [ <replaceable class="parameter">opclass</replaceable> [ ( <replaceable class="parameter">opclass_parameter</replaceable> = <replaceable class="parameter">value</replaceable> [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] </synopsis> </refsynopsisdiv> @@ -1047,6 +1047,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM no two rows in the table contain overlapping circles (see <xref linkend="datatype-geometric"/>) by using the <literal>&amp;&amp;</literal> operator. + The operator(s) are required to be commutative. </para> <para> @@ -1055,11 +1056,10 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM appropriate operator class (see <xref linkend="indexes-opclass"/>) for the index access method <replaceable>index_method</replaceable>. - The operators are required to be commutative. Each <replaceable class="parameter">exclude_element</replaceable> - can optionally specify an operator class and/or ordering options; - these are described fully under - <xref linkend="sql-createindex"/>. + defines a column of the index, so it can optionally specify a collation, + an operator class, operator class parameters, and/or ordering options; + these are described fully under <xref linkend="sql-createindex"/>. </para> <para> [parent: 3d5a9bb8df65]