- Notifications
You must be signed in to change notification settings - Fork4.9k
Commit243e9b4
committed
For inplace update, send nontransactional invalidations.
The inplace update survives ROLLBACK. The inval didn't, so anotherbackend's DDL could then update the row without incorporating theinplace update. In the test this fixes, a mix of CREATE INDEX and ALTERTABLE resulted in a table with an index, yet relhasindex=f. That is asource of index corruption. Back-patch to v12 (all supported versions).The back branch versions don't change WAL, because those branches justadded end-of-recovery SIResetAll(). All branches change the ABI ofextern function PrepareToInvalidateCacheTuple(). No PGXN extensioncalls that, and there's no apparent use case in extensions.Reviewed by Nitin Motiani and (in earlier versions) Andres Freund.Discussion:https://postgr.es/m/20240523000548.58.nmisch@google.com1 parent0fe1736 commit243e9b4
File tree
19 files changed
+401
-145
lines changed- src
- backend
- access
- heap
- rmgrdesc
- transam
- catalog
- commands
- replication/logical
- utils/cache
- include
- access
- storage
- utils
- test/isolation
- expected
- specs
- tools/pgindent
19 files changed
+401
-145
lines changedLines changed: 52 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6326 | 6326 |
| |
6327 | 6327 |
| |
6328 | 6328 |
| |
| 6329 | + | |
| 6330 | + | |
| 6331 | + | |
6329 | 6332 |
| |
6330 | 6333 |
| |
6331 | 6334 |
| |
6332 | 6335 |
| |
6333 | 6336 |
| |
6334 | 6337 |
| |
6335 | 6338 |
| |
| 6339 | + | |
| 6340 | + | |
| 6341 | + | |
| 6342 | + | |
| 6343 | + | |
| 6344 | + | |
| 6345 | + | |
| 6346 | + | |
| 6347 | + | |
| 6348 | + | |
| 6349 | + | |
| 6350 | + | |
| 6351 | + | |
| 6352 | + | |
| 6353 | + | |
| 6354 | + | |
| 6355 | + | |
| 6356 | + | |
| 6357 | + | |
| 6358 | + | |
| 6359 | + | |
| 6360 | + | |
| 6361 | + | |
6336 | 6362 |
| |
6337 | 6363 |
| |
6338 | 6364 |
| |
| |||
6362 | 6388 |
| |
6363 | 6389 |
| |
6364 | 6390 |
| |
| 6391 | + | |
| 6392 | + | |
| 6393 | + | |
| 6394 | + | |
6365 | 6395 |
| |
6366 | 6396 |
| |
6367 |
| - | |
| 6397 | + | |
| 6398 | + | |
| 6399 | + | |
| 6400 | + | |
6368 | 6401 |
| |
6369 | 6402 |
| |
6370 | 6403 |
| |
| |||
6376 | 6409 |
| |
6377 | 6410 |
| |
6378 | 6411 |
| |
| 6412 | + | |
| 6413 | + | |
| 6414 | + | |
| 6415 | + | |
| 6416 | + | |
| 6417 | + | |
| 6418 | + | |
| 6419 | + | |
| 6420 | + | |
| 6421 | + | |
| 6422 | + | |
| 6423 | + | |
6379 | 6424 |
| |
| 6425 | + | |
6380 | 6426 |
| |
6381 |
| - | |
| 6427 | + | |
6382 | 6428 |
| |
6383 | 6429 |
| |
6384 |
| - | |
6385 |
| - | |
6386 |
| - | |
6387 |
| - | |
6388 |
| - | |
6389 |
| - | |
| 6430 | + | |
| 6431 | + | |
| 6432 | + | |
| 6433 | + | |
6390 | 6434 |
| |
6391 | 6435 |
| |
6392 | 6436 |
| |
|
Lines changed: 6 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1170 | 1170 |
| |
1171 | 1171 |
| |
1172 | 1172 |
| |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
1173 | 1179 |
| |
1174 | 1180 |
| |
1175 | 1181 |
| |
|
Lines changed: 4 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
| 19 | + | |
19 | 20 |
| |
20 | 21 |
| |
21 | 22 |
| |
| |||
253 | 254 |
| |
254 | 255 |
| |
255 | 256 |
| |
| 257 | + | |
| 258 | + | |
| 259 | + | |
256 | 260 |
| |
257 | 261 |
| |
258 | 262 |
| |
|
Lines changed: 1 addition & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
96 | 96 |
| |
97 | 97 |
| |
98 | 98 |
| |
99 |
| - | |
100 |
| - | |
101 |
| - | |
102 |
| - | |
103 |
| - | |
| 99 | + | |
104 | 100 |
| |
105 | 101 |
| |
106 | 102 |
| |
|
Lines changed: 18 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1369 | 1369 |
| |
1370 | 1370 |
| |
1371 | 1371 |
| |
1372 |
| - | |
1373 |
| - | |
1374 |
| - | |
1375 |
| - | |
1376 |
| - | |
1377 |
| - | |
1378 |
| - | |
1379 |
| - | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
1380 | 1390 |
| |
1381 | 1391 |
| |
1382 | 1392 |
| |
|
Lines changed: 9 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2918 | 2918 |
| |
2919 | 2919 |
| |
2920 | 2920 |
| |
2921 |
| - | |
| 2921 | + | |
2922 | 2922 |
| |
2923 | 2923 |
| |
2924 | 2924 |
| |
2925 | 2925 |
| |
2926 |
| - | |
| 2926 | + | |
| 2927 | + | |
| 2928 | + | |
| 2929 | + | |
| 2930 | + | |
| 2931 | + | |
| 2932 | + | |
| 2933 | + | |
2927 | 2934 |
| |
2928 | 2935 |
| |
2929 | 2936 |
| |
|
Lines changed: 0 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
975 | 975 |
| |
976 | 976 |
| |
977 | 977 |
| |
978 |
| - | |
979 |
| - | |
980 |
| - | |
981 |
| - | |
982 |
| - | |
983 | 978 |
| |
984 | 979 |
| |
985 | 980 |
| |
|
Lines changed: 11 additions & 15 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
509 | 509 |
| |
510 | 510 |
| |
511 | 511 |
| |
512 |
| - | |
513 |
| - | |
514 |
| - | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
515 | 520 |
| |
516 |
| - | |
517 |
| - | |
518 |
| - | |
519 |
| - | |
520 |
| - | |
521 |
| - | |
522 |
| - | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
523 | 524 |
| |
524 |
| - | |
525 |
| - | |
526 |
| - | |
527 |
| - | |
528 |
| - | |
529 | 525 |
| |
530 | 526 |
| |
531 | 527 |
| |
|
Lines changed: 4 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2286 | 2286 |
| |
2287 | 2287 |
| |
2288 | 2288 |
| |
2289 |
| - | |
| 2289 | + | |
| 2290 | + | |
2290 | 2291 |
| |
2291 | 2292 |
| |
2292 | 2293 |
| |
| |||
2327 | 2328 |
| |
2328 | 2329 |
| |
2329 | 2330 |
| |
2330 |
| - | |
| 2331 | + | |
2331 | 2332 |
| |
2332 | 2333 |
| |
2333 | 2334 |
| |
| |||
2336 | 2337 |
| |
2337 | 2338 |
| |
2338 | 2339 |
| |
2339 |
| - | |
| 2340 | + | |
2340 | 2341 |
| |
2341 | 2342 |
| |
2342 | 2343 |
| |
|
0 commit comments
Comments
(0)