pgsql: Re-allow testing of GiST buffered builds. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Re-allow testing of GiST buffered builds.
Date
Msg-id E1kS54v-0003rj-Fc@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Re-allow testing of GiST buffered builds.

Commit 16fa9b2b3 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, as 16fa9b2b3 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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/78c0b6ed273a1262f96efe94004bc92d99865005

Modified Files
--------------
doc/src/sgml/gist.sgml              | 58 ++++++++++++++++++++++-------------
doc/src/sgml/ref/create_index.sgml  | 12 +++++---
src/backend/access/gist/gistbuild.c | 60 ++++++++++++++++++++-----------------
3 files changed, 77 insertions(+), 53 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix memory leak when guc.c decides a setting can't be applied no
Next
From: Tom Lane
Date:
Subject: pgsql: Fix GiST buffering build to work when there are included columns