mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
Re-allow testing of GiST buffered builds.
Commit16fa9b2b3
broke the ability to reliably test GiST buffered builds, because it caused sorted builds to be done instead if sortsupport is available, regardless of any attempt to override that. While a would-be test case could try to work around that by choosing an opclass that has no sortsupport function, coverage would be silently lost the moment someone decides it'd be a good idea to add a sortsupport function. Hence, rearrange the logic in gistbuild() so that if "buffering = on" is specified in CREATE INDEX, we will use that method, sortsupport or no. Also document the interaction between sorting and the buffering parameter, as16fa9b2b3
failed to do. (Note that in fact we still lack any test coverage of buffered builds, but this is a prerequisite to adding a non-fragile test.) Discussion: https://postgr.es/m/3249980.1602532990@sss.pgh.pa.us
This commit is contained in:
@@ -463,11 +463,15 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Determines whether the buffering build technique described in
|
||||
Determines whether the buffered build technique described in
|
||||
<xref linkend="gist-buffering-build"/> is used to build the index. With
|
||||
<literal>OFF</literal> it is disabled, with <literal>ON</literal> it is enabled, and
|
||||
with <literal>AUTO</literal> it is initially disabled, but turned on
|
||||
on-the-fly once the index size reaches <xref linkend="guc-effective-cache-size"/>. The default is <literal>AUTO</literal>.
|
||||
<literal>OFF</literal> buffering is disabled, with <literal>ON</literal>
|
||||
it is enabled, and with <literal>AUTO</literal> it is initially disabled,
|
||||
but is turned on on-the-fly once the index size reaches
|
||||
<xref linkend="guc-effective-cache-size"/>. The default
|
||||
is <literal>AUTO</literal>.
|
||||
Note that if sorted build is possible, it will be used instead of
|
||||
buffered build unless <literal>buffering=ON</literal> is specified.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
Reference in New Issue
Block a user