Thread: pgsql: Use streaming read I/O in GiST vacuuming

pgsql: Use streaming read I/O in GiST vacuuming

From
Melanie Plageman
Date:
Use streaming read I/O in GiST vacuuming

Like c5c239e26e387 did for btree vacuuming, make GiST vacuum use the
read stream API for sequentially processed pages.

Because it is possible for concurrent insertions to relocate unprocessed
index entries to already vacuumed pages, GiST vacuum must backtrack and
reprocess those pages. These pages are still read with explicit
ReadBuffer() calls.

Author: Andrey M. Borodin <x4mmm@yandex-team.ru>
Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Discussion: https://postgr.es/m/EFEBED92-18D1-4C0F-A4EB-CD47072EF071%40yandex-team.ru

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/69273b818b1df82c36b2b2acb592db3d0743cc7c

Modified Files
--------------
src/backend/access/gist/gistvacuum.c | 84 ++++++++++++++++++++++++++----------
1 file changed, 61 insertions(+), 23 deletions(-)