agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Peter Geoghegan <pg@bowt.ie>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Add non-MVCC index scan test module.
Date: Thu, 03 Sep 2026 21:37:15 +0000
Message-ID: <E1x2F7S-00000003Mlv-1jg4@gemulon.postgresql.org> (raw)

Add non-MVCC index scan test module.

Add test_indexscan, a new test module that provides an SQL-callable
function that performs a full index scan using whatever snapshot type
the caller asks for.  Also add a set of tests that verify and document a
variety of behaviors associated with some specific snapshot type.

Preparation for an upcoming commit that will move index scan heap
fetches behind a new slot-based table AM interface.  Aside from testing
non-MVCC snapshot types, these new tests can catch bugs where an index
scan incorrectly maintains xs_heap_continue during HOT chain traversal.
Such bugs are unlikely to affect MVCC scans, which makes it hard to
write tests that detect them without relying on a custom test module.

Author: Peter Geoghegan <pg@bowt.ie>
Reviewed-by: Tomas Vondra <tomas@vondra.me>
Discussion: https://postgr.es/m/CAH2-Wzn%2BC%3DmAMv9aW3Skfh80JPpHKT3yM%3DDYwkrrhYyG2f%2B_vg%40mail.gmail.com

Branch
------
master

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

Modified Files
--------------
src/test/modules/index/Makefile                |  10 ++
src/test/modules/index/expected/hot_chain.out  |  91 ++++++++++++++++
src/test/modules/index/meson.build             |  26 +++++
src/test/modules/index/sql/hot_chain.sql       |  47 ++++++++
src/test/modules/index/test_indexscan--1.0.sql |  13 +++
src/test/modules/index/test_indexscan.c        | 143 +++++++++++++++++++++++++
src/test/modules/index/test_indexscan.control  |   4 +
7 files changed, 334 insertions(+)



Message-ID: <E1x2F7S-00000003Mlv-1jg4@gemulon.postgresql.org>
Permalink:  ../E1x2F7S-00000003Mlv-1jg4@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1x2F7S-00000003Mlv-1jg4@gemulon.postgresql.org

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: pg@bowt.ie, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Add non-MVCC index scan test module.
  In-Reply-To: <E1x2F7S-00000003Mlv-1jg4@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox