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

pgsql: Use streaming read I/O in SP-GiST vacuuming

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

Like 69273b818b1df did for GiST vacuuming, make SP-GiST vacuum use the
read stream API for vacuuming physically contiguous index pages.

Concurrent insertions may cause SP-GiST index tuples to be redirected.
While vacuuming, these are added to a pending list which is later
processed to ensure no dead tuples are left behind. Pages containing
such tuples are still read by directly calling ReadBuffer() and do not
use the read stream API.

Author: Andrey M. Borodin <x4mmm@yandex-team.ru>
Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Discussion: https://postgr.es/m/37432403-8657-403B-9CDF-5A642BECDD81%40yandex-team.ru

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e215166c9c810950cff101cc098e66c8758538fa

Modified Files
--------------
src/backend/access/spgist/spgvacuum.c | 55 ++++++++++++++++++++++++++---------
1 file changed, 42 insertions(+), 13 deletions(-)