Commit af0e7de
committed
Don't destroy SMgrRelations at relcache invalidation
With commit 21d9c3e, 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
8af2565, 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.com1 parent e629846 commit af0e7de
2 files changed
+3
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | | - | |
352 | | - | |
353 | 351 | | |
354 | 352 | | |
355 | 353 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2985 | 2985 | | |
2986 | 2986 | | |
2987 | 2987 | | |
2988 | | - | |
2989 | | - | |
2990 | | - | |
2991 | 2988 | | |
2992 | 2989 | | |
2993 | 2990 | | |
| |||
3039 | 3036 | | |
3040 | 3037 | | |
3041 | 3038 | | |
3042 | | - | |
3043 | | - | |
3044 | | - | |
| 3039 | + | |
| 3040 | + | |
3045 | 3041 | | |
3046 | | - | |
| 3042 | + | |
3047 | 3043 | | |
3048 | 3044 | | |
3049 | 3045 | | |
| |||
0 commit comments