Re: [PATCH] Check that index can return in get_actual_variable_range()
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Maxime Schoemans <maxime.schoemans@enterprisedb.com>,
Aleksander Alekseev <aleksander@tigerdata.com>
Cc: pgsql-hackers@lists.postgresql.org,
Mark Dilger <mark.dilger@enterprisedb.com>
Date: 2025-10-28T09:20:39Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Check that index can return in get_actual_variable_range()
- 74197bdc842a 18.1 landed
- 35e53b68418a 19 (unreleased) landed
-
Fix crash/valgrind error
- ee1ae8b99f96 18.0 cited
-
Support non-btree indexes in get_actual_variable_range()
- 9ef1851685b7 18.0 cited
On 22.09.25 16:38, Maxime Schoemans wrote: > On 19 Sep 2025, at 10:20, Aleksander Alekseev <aleksander@tigerdata.com> > wrote: > >> Yes, this is how we typically test cases like this. IMO adding a test >> module would be helpful. It can be reused for other scenarios. > > Here is an updated patch set. > - 0001 is unchanged. > - 0002 contains the module that tests the correct behavior of > get_actual_variable_range for non-returning ordering indices. > It contains a copy of the btree handler function with its index-only > capabilities removed. If you apply patch 0002 on master without 0001, > you will see that the test returns an error (ERROR: no data returned > for index-only scan) as it tries to use the index in > get_actual_variable_range, which shouldn’t be the case. I have committed the first patch. The test suite is probably a bit too bulky for testing this particular niche behavior. Also, it doesn't work with assertions enabled because of the hardcoded BTREE_AM_OID in src/include/access/nbtree.h. So I don't plan to commit that. But it's good to have it in the archive, and perhaps it can be part of a larger test suite for the index AM API at some point in the future.