On 2018-04-05 00:09, Alexander Korotkov wrote:
Hi!

Thank you for review!  Revised patchset is attached.
[0001-Covering-core-v12.patch]
[0002-Covering-btree-v12.patch]
[0003-Covering-amcheck-v12.patch]
[0004-Covering-natts-v12.patch]

Really nice performance gains.

I read through the docs and made some changes. I hope it can count as improvement.

It would probably also be a good idea to add the term "covering index" somewhere, at least in the documentation's index; the term does now not occur anywhere. (This doc-patch does not add it)

thanks,

Erik Rijkers
--- doc/src/sgml/ref/create_index.sgml.orig	2018-04-05 14:36:00.904617793 +0200
+++ doc/src/sgml/ref/create_index.sgml	2018-04-05 15:49:03.778805965 +0200
@@ -148,31 +148,27 @@
       <term><literal>INCLUDE</literal></term>
       <listitem>
        <para>
-        An optional <literal>INCLUDE</literal> clause allows to specify the
-        list of columns which will be included in the non-key part of the index.
-        Columns listed in this clause cannot co-exist as index key columns,
-        and vice versa.  The <literal>INCLUDE</literal> columns exist solely to
+        The optional <literal>INCLUDE</literal> clause specifies a
+        list of columns which will be included as a non-key part in the index.
+        Columns listed in this clause cannot also be present as index key columns.
+        The <literal>INCLUDE</literal> columns exist solely to
         allow more queries to benefit from <firstterm>index-only scans</firstterm>
-        by including specified columns into the index.  Values of these columns
+        by including the values of the specified columns in the index.  These values
         would otherwise have to be obtained by reading the table's heap.
-        Having these columns in the <literal>INCLUDE</literal> clause
-        in some cases allows <productname>PostgreSQL</productname> to skip
-        the heap read completely.
        </para>
 
        <para>
-        In the <literal>UNIQUE</literal> indexes, uniqueness is only enforced
+        In <literal>UNIQUE</literal> indexes, uniqueness is only enforced
         for key columns.  Columns listed in the <literal>INCLUDE</literal>
-        clause have no influence to uniqueness enforcement.  Other constraints
+        clause have no effect on uniqueness enforcement.  Other constraints
         (PRIMARY KEY and EXCLUDE) work the same way.
        </para>
 
        <para>
-        Columns listed in the <literal>INCLUDE</literal> clause doesn't need
-        appropriate operator class to exist.  Therefore,
-        <literal>INCLUDE</literal> clause if useful to add non-key index
-        columns, whose data types don't have operator classes defined for
-        given access method.
+        Columns listed in the <literal>INCLUDE</literal> clause don't need
+        appropriate operator classes; the clause can contain non-key index
+        columns whose data types don't have operator classes defined for
+        a given access method.
        </para>
 
        <para>
@@ -182,12 +178,12 @@
 
        <para>
         Currently, only the B-tree index access method supports this feature.
-        In B-tree indexes, values of columns listed in the
-        <literal>INCLUDE</literal> clause are included into leaf tuples which
-        are linked to the heap tuples, but aren't included into pivot tuples
+        In B-tree indexes, the values of columns listed in the
+        <literal>INCLUDE</literal> clause are included in leaf tuples which
+        are linked to the heap tuples, but are not included into pivot tuples
         used for tree navigation.  Therefore, moving columns from the list of
         key columns to the <literal>INCLUDE</literal> clause can slightly
-        reduce index size and improve tree branching factor.
+        reduce index size and improve the tree branching factor.
        </para>
       </listitem>
      </varlistentry>

Reply via email to