- Notifications
You must be signed in to change notification settings - Fork28
Commitf57e3f4
committed
Repair problems with VACUUM destroying t_ctid chains too soon, and with
insufficient paranoia in code that follows t_ctid links. (We must do bothbecause even with VACUUM doing it properly, the intermediate state witha dangling t_ctid link is visible concurrently during lazy VACUUM, andcould be seen afterwards if either type of VACUUM crashes partway through.)Also try to improve documentation about what's going on. Patch is a bitbulky because passing the XMAX information around required changing theAPIs of some low-level heapam.c routines, but it's not conceptually verycomplicated. Per trouble report from Teodor and subsequent analysis.This needs to be back-patched, but I'll do that after 8.1 beta is out.1 parent97bb6e8 commitf57e3f4
File tree
10 files changed
+521
-266
lines changed- src
- backend
- access/heap
- commands
- executor
- utils/time
- include
- access
- executor
- utils
10 files changed
+521
-266
lines changedLarge diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
553 | | - | |
554 | 553 | | |
| 554 | + | |
| 555 | + | |
555 | 556 | | |
556 | 557 | | |
557 | 558 | | |
| |||
573 | 574 | | |
574 | 575 | | |
575 | 576 | | |
576 | | - | |
| 577 | + | |
577 | 578 | | |
578 | 579 | | |
579 | 580 | | |
| |||
585 | 586 | | |
586 | 587 | | |
587 | 588 | | |
588 | | - | |
589 | 589 | | |
590 | 590 | | |
591 | 591 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
1592 | 1592 | | |
1593 | 1593 | | |
1594 | 1594 | | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
1595 | 1599 | | |
1596 | 1600 | | |
1597 | 1601 | | |
1598 | 1602 | | |
1599 | | - | |
1600 | | - | |
1601 | 1603 | | |
1602 | | - | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
1603 | 1607 | | |
1604 | 1608 | | |
1605 | 1609 | | |
| |||
1617 | 1621 | | |
1618 | 1622 | | |
1619 | 1623 | | |
1620 | | - | |
| 1624 | + | |
1621 | 1625 | | |
1622 | | - | |
1623 | | - | |
1624 | | - | |
1625 | | - | |
1626 | | - | |
| 1626 | + | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
| 1633 | + | |
1627 | 1634 | | |
1628 | | - | |
| 1635 | + | |
1629 | 1636 | | |
1630 | 1637 | | |
1631 | 1638 | | |
| |||
1639 | 1646 | | |
1640 | 1647 | | |
1641 | 1648 | | |
1642 | | - | |
| 1649 | + | |
1643 | 1650 | | |
1644 | 1651 | | |
1645 | 1652 | | |
| |||
1659 | 1666 | | |
1660 | 1667 | | |
1661 | 1668 | | |
| 1669 | + | |
1662 | 1670 | | |
1663 | 1671 | | |
1664 | 1672 | | |
| |||
0 commit comments
Comments
(0)