postgresql/src/backend/utils
Heikki Linnakangas af0e7deb4a Don't destroy SMgrRelations at relcache invalidation
With commit 21d9c3ee4e, SMgrRelations remain valid until end of
transaction (or longer if they're "pinned"). Relcache invalidation can
happen in the middle of a transaction, so we must not destroy them at
relcache invalidation anymore.

This was revealed by failures in the 'constraints' test in buildfarm
animals using -DCLOBBER_CACHE_ALWAYS. That started failing with commit
8af2565248, which was the first commit that started to rely on an
SMgrRelation living until end of transaction.

Diagnosed-by: Tomas Vondra, Thomas Munro
Reviewed-by: Thomas Munro
Discussion: https://www.postgresql.org/message-id/CA%2BhUKGK%2B5DOmLaBp3Z7C4S-Yv6yoROvr1UncjH2S1ZbPT8D%2BZg%40mail.gmail.com
2024-03-11 09:08:02 +02:00
..
activity Improve consistency of replication slot statistics 2024-03-11 10:25:01 +09:00
adt Catalog changes preparing for builtin collation provider. 2024-03-09 14:48:18 -08:00
cache Don't destroy SMgrRelations at relcache invalidation 2024-03-11 09:08:02 +02:00
error Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
fmgr Refactor code checking for file existence 2024-01-12 12:04:51 +09:00
hash Update copyright for 2024 2024-01-03 20:49:05 -05:00
init Catalog changes preparing for builtin collation provider. 2024-03-09 14:48:18 -08:00
mb Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
misc Introduce a new GUC 'standby_slot_names'. 2024-03-08 08:10:45 +05:30
mmgr Avoid recursion in MemoryContext functions 2024-03-08 13:18:30 +02:00
resowner Use new overflow-safe integer comparison functions. 2024-02-16 14:05:36 -06:00
sort Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
time Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
.gitignore Rearrange makefile rules for running Gen_fmgrtab.pl. 2018-05-03 17:54:18 -04:00
Gen_dummy_probes.pl Update copyright for 2024 2024-01-03 20:49:05 -05:00
Gen_fmgrtab.pl Update copyright for 2024 2024-01-03 20:49:05 -05:00
Makefile Update copyright for 2024 2024-01-03 20:49:05 -05:00
errcodes.txt Introduce transaction_timeout 2024-02-15 23:56:12 +02:00
generate-errcodes.pl Update copyright for 2024 2024-01-03 20:49:05 -05:00
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00
postprocess_dtrace.sed Update copyright for 2024 2024-01-03 20:49:05 -05:00
probes.d Update copyright for 2024 2024-01-03 20:49:05 -05:00