forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit0ea71c9
committed
Notice that heap page has dead items during VACUUM.
Consistently set a flag variable that tracks whether the current heappage has a dead item during lazy vacuum's heap scan. We missed thecommon case where there is an preexisting (or even a new) LP_DEAD heapline pointer.Also make it clear that the variable might be affected by an existingline pointer, say from an earlier opportunistic pruning operation. Thisdistinction is important because it's the main reason why we can't justuse the nearby tups_vacuumed variable instead.No backpatch. In theory failing to set the page level flag variable hadno consequences. Currently it is only used to defensively check if apage marked all visible has dead items, which should never happen anyway(if it does then the table must be corrupt).Author: Masahiko Sawada <sawada.mshk@gmail.com>Diagnosed-By: Masahiko Sawada <sawada.mshk@gmail.com>Discussion:https://postgr.es/m/CAD21AoAtZb4+HJT_8RoOXvu4HM-Zd4HKS3YSMCH6+-W=bDyh-w@mail.gmail.com1 parent58f5749 commit0ea71c9
1 file changed
+6
-5
lines changedLines changed: 6 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
945 | 945 |
| |
946 | 946 |
| |
947 | 947 |
| |
948 |
| - | |
| 948 | + | |
949 | 949 |
| |
950 | 950 |
| |
951 | 951 |
| |
| |||
1248 | 1248 |
| |
1249 | 1249 |
| |
1250 | 1250 |
| |
1251 |
| - | |
| 1251 | + | |
1252 | 1252 |
| |
1253 | 1253 |
| |
1254 | 1254 |
| |
| |||
1300 | 1300 |
| |
1301 | 1301 |
| |
1302 | 1302 |
| |
| 1303 | + | |
1303 | 1304 |
| |
1304 | 1305 |
| |
1305 | 1306 |
| |
| |||
1448 | 1449 |
| |
1449 | 1450 |
| |
1450 | 1451 |
| |
1451 |
| - | |
| 1452 | + | |
1452 | 1453 |
| |
1453 | 1454 |
| |
1454 | 1455 |
| |
| |||
1527 | 1528 |
| |
1528 | 1529 |
| |
1529 | 1530 |
| |
1530 |
| - | |
| 1531 | + | |
1531 | 1532 |
| |
1532 | 1533 |
| |
1533 | 1534 |
| |
| |||
1625 | 1626 |
| |
1626 | 1627 |
| |
1627 | 1628 |
| |
1628 |
| - | |
| 1629 | + | |
1629 | 1630 |
| |
1630 | 1631 |
| |
1631 | 1632 |
| |
|
0 commit comments
Comments
(0)