Commit 1ccc1e0
committed
Remove retry loop in heap_page_prune().
The retry loop is needed because heap_page_prune() calls
HeapTupleSatisfiesVacuum() and then lazy_scan_prune() does the same
thing again, and they might get different answers due to concurrent
clog updates. But this patch makes heap_page_prune() return the
HeapTupleSatisfiesVacuum() results that it computed back to the
caller, which allows lazy_scan_prune() to avoid needing to recompute
those values in the first place. That's nice both because it eliminates
the need for a retry loop and also because it's cheaper.
Melanie Plageman, reviewed by David Geier, Andres Freund, and me.
Discussion: https://postgr.es/m/CAAKRu_br124qsGJieuYA0nGjywEukhK1dKBfRdby_4yY3E9SXA%40mail.gmail.com1 parent e64c733 commit 1ccc1e0
File tree
3 files changed
+55
-49
lines changed- src
- backend/access/heap
- include/access
3 files changed
+55
-49
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | 56 | | |
67 | 57 | | |
68 | 58 | | |
| |||
71 | 61 | | |
72 | 62 | | |
73 | 63 | | |
| 64 | + | |
74 | 65 | | |
75 | 66 | | |
76 | 67 | | |
| |||
240 | 231 | | |
241 | 232 | | |
242 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
243 | 238 | | |
244 | 239 | | |
245 | 240 | | |
| |||
276 | 271 | | |
277 | 272 | | |
278 | 273 | | |
279 | | - | |
| 274 | + | |
280 | 275 | | |
281 | 276 | | |
282 | 277 | | |
| |||
292 | 287 | | |
293 | 288 | | |
294 | 289 | | |
295 | | - | |
296 | | - | |
| 290 | + | |
| 291 | + | |
297 | 292 | | |
298 | 293 | | |
299 | 294 | | |
| |||
317 | 312 | | |
318 | 313 | | |
319 | 314 | | |
320 | | - | |
| 315 | + | |
| 316 | + | |
321 | 317 | | |
322 | 318 | | |
323 | 319 | | |
| |||
446 | 442 | | |
447 | 443 | | |
448 | 444 | | |
| 445 | + | |
| 446 | + | |
449 | 447 | | |
450 | 448 | | |
451 | 449 | | |
| |||
473 | 471 | | |
474 | 472 | | |
475 | 473 | | |
476 | | - | |
| 474 | + | |
| 475 | + | |
477 | 476 | | |
478 | 477 | | |
479 | 478 | | |
| |||
494 | 493 | | |
495 | 494 | | |
496 | 495 | | |
497 | | - | |
| 496 | + | |
498 | 497 | | |
499 | 498 | | |
500 | 499 | | |
| |||
517 | 516 | | |
518 | 517 | | |
519 | 518 | | |
520 | | - | |
| 519 | + | |
521 | 520 | | |
522 | 521 | | |
523 | 522 | | |
| |||
585 | 584 | | |
586 | 585 | | |
587 | 586 | | |
588 | | - | |
589 | 587 | | |
590 | 588 | | |
591 | 589 | | |
| |||
605 | 603 | | |
606 | 604 | | |
607 | 605 | | |
608 | | - | |
| 606 | + | |
609 | 607 | | |
610 | 608 | | |
611 | 609 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1524 | 1524 | | |
1525 | 1525 | | |
1526 | 1526 | | |
1527 | | - | |
1528 | | - | |
1529 | | - | |
1530 | | - | |
1531 | | - | |
1532 | | - | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
1533 | 1534 | | |
1534 | 1535 | | |
1535 | 1536 | | |
| |||
1542 | 1543 | | |
1543 | 1544 | | |
1544 | 1545 | | |
1545 | | - | |
1546 | | - | |
1547 | 1546 | | |
1548 | 1547 | | |
1549 | 1548 | | |
| |||
1563 | 1562 | | |
1564 | 1563 | | |
1565 | 1564 | | |
1566 | | - | |
1567 | | - | |
1568 | 1565 | | |
1569 | 1566 | | |
1570 | 1567 | | |
| |||
1600 | 1597 | | |
1601 | 1598 | | |
1602 | 1599 | | |
| 1600 | + | |
1603 | 1601 | | |
1604 | 1602 | | |
1605 | 1603 | | |
| |||
1642 | 1640 | | |
1643 | 1641 | | |
1644 | 1642 | | |
1645 | | - | |
1646 | | - | |
1647 | | - | |
1648 | | - | |
1649 | | - | |
1650 | | - | |
1651 | | - | |
1652 | | - | |
1653 | | - | |
1654 | | - | |
1655 | | - | |
1656 | | - | |
1657 | | - | |
1658 | | - | |
1659 | | - | |
1660 | | - | |
| 1643 | + | |
1661 | 1644 | | |
1662 | 1645 | | |
1663 | 1646 | | |
| |||
1678 | 1661 | | |
1679 | 1662 | | |
1680 | 1663 | | |
1681 | | - | |
| 1664 | + | |
1682 | 1665 | | |
1683 | 1666 | | |
1684 | 1667 | | |
| |||
1700 | 1683 | | |
1701 | 1684 | | |
1702 | 1685 | | |
1703 | | - | |
| 1686 | + | |
1704 | 1687 | | |
1705 | 1688 | | |
1706 | 1689 | | |
| |||
1710 | 1693 | | |
1711 | 1694 | | |
1712 | 1695 | | |
1713 | | - | |
| 1696 | + | |
1714 | 1697 | | |
1715 | 1698 | | |
1716 | 1699 | | |
| |||
1764 | 1747 | | |
1765 | 1748 | | |
1766 | 1749 | | |
1767 | | - | |
| 1750 | + | |
1768 | 1751 | | |
1769 | 1752 | | |
1770 | 1753 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
201 | 212 | | |
202 | 213 | | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
203 | 228 | | |
204 | 229 | | |
205 | 230 | | |
| |||
0 commit comments