postgresql/src/include
Heikki Linnakangas af8cd1639a Fix catcache invalidation of a list entry that's being built
If a new catalog tuple is inserted that belongs to a catcache list
entry, and cache invalidation happens while the list entry is being
built, the list entry might miss the newly inserted tuple.

To fix, change the way we detect concurrent invalidations while a
catcache entry is being built. Keep a stack of entries that are being
built, and apply cache invalidation to those entries in addition to
the real catcache entries. This is similar to the in-progress list in
relcache.c.

Back-patch to all supported versions.

Reviewed-by: Noah Misch
Discussion: https://www.postgresql.org/message-id/2234dc98-06fe-42ed-b5db-ac17384dc880@iki.fi
2025-01-14 14:28:49 +02:00
..
access Add BTOPTIONS_PROC comments to nbtree.h. 2025-01-13 15:02:14 -05:00
archive Update copyright for 2025 2025-01-01 11:21:55 -05:00
backup Update copyright for 2025 2025-01-01 11:21:55 -05:00
bootstrap Update copyright for 2025 2025-01-01 11:21:55 -05:00
catalog Make pg_stat_io count IOs as bytes instead of blocks for some operations 2025-01-14 12:14:29 +09:00
commands Adjust signature of cluster_rel() and its subroutines 2025-01-10 13:09:38 +01:00
common Update copyright for 2025 2025-01-01 11:21:55 -05:00
datatype Update copyright for 2025 2025-01-01 11:21:55 -05:00
executor Revert "TupleHashTable: store additional data along with tuple." 2025-01-13 14:14:33 -08:00
fe_utils Update copyright for 2025 2025-01-01 11:21:55 -05:00
foreign Update copyright for 2025 2025-01-01 11:21:55 -05:00
jit Fix an assortment of spelling mistakes and typos 2025-01-02 12:42:01 +13:00
lib Add new StringInfo APIs to allow callers to specify the buffer size. 2025-01-11 08:23:46 +09:00
libpq Update copyright for 2025 2025-01-01 11:21:55 -05:00
mb Update copyright for 2025 2025-01-01 11:21:55 -05:00
nodes Revert "TupleHashTable: store additional data along with tuple." 2025-01-13 14:14:33 -08:00
optimizer Update copyright for 2025 2025-01-01 11:21:55 -05:00
parser Add support for NOT ENFORCED in CHECK constraints 2025-01-11 10:52:30 +01:00
partitioning Update copyright for 2025 2025-01-01 11:21:55 -05:00
pch Update copyright for 2025 2025-01-01 11:21:55 -05:00
port Provide 64-bit ftruncate() and lseek() on Windows. 2025-01-09 15:00:58 +13:00
portability Update copyright for 2025 2025-01-01 11:21:55 -05:00
postmaster Allow changing autovacuum_max_workers without restarting. 2025-01-06 15:01:22 -06:00
regex Update copyright for 2025 2025-01-01 11:21:55 -05:00
replication Update copyright for 2025 2025-01-01 11:21:55 -05:00
rewrite Update copyright for 2025 2025-01-01 11:21:55 -05:00
snowball Update copyright for 2025 2025-01-01 11:21:55 -05:00
statistics Update copyright for 2025 2025-01-01 11:21:55 -05:00
storage Use a non-locking initial test in TAS_SPIN on AArch64. 2025-01-10 13:18:04 -06:00
tcop Update copyright for 2025 2025-01-01 11:21:55 -05:00
tsearch Update copyright for 2025 2025-01-01 11:21:55 -05:00
utils Fix catcache invalidation of a list entry that's being built 2025-01-14 14:28:49 +02:00
.gitignore Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
c.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
fmgr.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
funcapi.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
getopt_long.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
Makefile Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
meson.build Update copyright for 2025 2025-01-01 11:21:55 -05:00
miscadmin.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_config.h.in Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
pg_config_manual.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_getopt.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_trace.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pgstat.h Bump PGSTAT_FILE_FORMAT_ID 2025-01-14 15:17:22 +09:00
pgtar.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pgtime.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
port.h Provide 64-bit ftruncate() and lseek() on Windows. 2025-01-09 15:00:58 +13:00
postgres.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
postgres_ext.h Use <stdint.h> and <inttypes.h> for c.h integers. 2024-12-04 15:05:38 +13:00
postgres_fe.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
varatt.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
windowapi.h Update copyright for 2025 2025-01-01 11:21:55 -05:00