postgresql/src/backend
Tom Lane 903737c5bf Avoid trying to fetch metapage of an SPGist partitioned index.
This is necessary when spgcanreturn() is invoked on a partitioned
index, and the failure might be reachable in other scenarios as
well.  The rest of what spgGetCache() does is perfectly sensible
for a partitioned index, so we should allow it to go through.

I think the main takeaway from this is that we lack sufficient test
coverage for non-btree partitioned indexes.  Therefore, I added
simple test cases for brin and gin as well as spgist (hash and
gist AMs were covered already in indexing.sql).

Per bug #18256 from Alexander Lakhin.  Although the known test case
only fails since v16 (3c569049b), I've got no faith at all that there
aren't other ways to reach this problem; so back-patch to all
supported branches.

Discussion: https://postgr.es/m/18256-0b0e1b6e4a620f1b@postgresql.org
2023-12-21 12:43:36 -05:00
..
access Avoid trying to fetch metapage of an SPGist partitioned index. 2023-12-21 12:43:36 -05:00
archive
backup Add support for incremental backup. 2023-12-20 09:49:12 -05:00
bootstrap Remove distprep 2023-11-06 15:18:04 +01:00
catalog Fix prologue of get_partition_ancestors() 2023-12-21 11:42:12 +01:00
commands Fix bugs in manipulation of large objects. 2023-12-15 13:55:05 -05:00
executor Fix BEFORE ROW trigger handling in cross-partition MERGE update. 2023-12-21 12:55:22 +00:00
foreign Improve "user mapping not found" error message 2023-11-30 05:34:28 +01:00
jit Make ResourceOwners more easily extensible. 2023-11-08 13:30:50 +02:00
lib Make binaryheap available to frontend code. 2023-09-18 12:18:33 -07:00
libpq Fix bugs in manipulation of large objects. 2023-12-15 13:55:05 -05:00
main Remove obsolete defense against strxfrm() bugs. 2023-04-20 13:20:14 +12:00
nodes Simplify newNode() by removing special cases 2023-12-19 12:11:47 +02:00
optimizer Prevent integer overflow when forming tuple width estimates. 2023-12-19 11:12:16 -05:00
parser Remove useless LIMIT_OPTION_DEFAULT value from LimitOption 2023-12-16 18:20:03 +01:00
partitioning Add trailing commas to enum definitions 2023-10-26 09:20:54 +02:00
po Translation updates 2023-08-07 12:39:30 +02:00
port Remove distprep 2023-11-06 15:18:04 +01:00
postmaster Add a new WAL summarizer process. 2023-12-20 08:42:28 -05:00
regex Add trailing commas to enum definitions 2023-10-26 09:20:54 +02:00
replication Add support for incremental backup. 2023-12-20 09:49:12 -05:00
rewrite Add TupleDescGetDefault() 2023-09-27 18:52:40 +01:00
snowball Remove distprep 2023-11-06 15:18:04 +01:00
statistics Retire MemoryContextResetAndDeleteChildren() macro. 2023-11-15 13:42:30 -06:00
storage Add support for incremental backup. 2023-12-20 09:49:12 -05:00
tcop Add support for REINDEX in event triggers 2023-12-04 09:53:49 +09:00
tsearch Limit to_tsvector_byid's initial array allocation to something sane. 2023-09-25 11:50:28 -04:00
utils Add a new WAL summarizer process. 2023-12-20 08:42:28 -05:00
.gitignore
common.mk
Makefile Remove distprep 2023-11-06 15:18:04 +01:00
meson.build Remove MSVC scripts 2023-12-20 09:44:37 +09:00
nls.mk Remove distprep 2023-11-06 15:18:04 +01:00