forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit02d647b
committed
Don't test HEAP_XMAX_INVALID when freezing xmax.
We shouldn't ever need to rely on whether HEAP_XMAX_INVALID is set int_infomask when considering whether or not an xmax should be deemedalready frozen, since that status flag is just a hint. The onlyacceptable representation for an "xmax_already_frozen" raw xmax field isthe transaction ID value zero (also known as InvalidTransactionId).Adjust code that superficially appeared to rely on HEAP_XMAX_INVALID tomake the rule about xmax_already_frozen clear. Also avoid needlesslyrereading the tuple's raw xmax.Oversight in bugfix commitd2599ec. There is no evidence that thisever led to incorrect behavior, so no backpatch. The worst consequenceof this bug was that VACUUM could hypothetically fail to notice andreport on certain kinds of corruption, which seems fairly benign.Author: Peter Geoghegan <pg@bowt.ie>Discussion:https://postgr.es/m/CAH2-Wzkh3DMCDRPfhZxj9xCq9v3WmzvmbiCpf1dNKUBPadhCbQ@mail.gmail.com1 parentb425bf0 commit02d647b
1 file changed
+5
-2
lines changedLines changed: 5 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
6542 | 6542 |
| |
6543 | 6543 |
| |
6544 | 6544 |
| |
| 6545 | + | |
6545 | 6546 |
| |
6546 | 6547 |
| |
6547 | 6548 |
| |
| |||
6640 | 6641 |
| |
6641 | 6642 |
| |
6642 | 6643 |
| |
| 6644 | + | |
6643 | 6645 |
| |
6644 | 6646 |
| |
6645 | 6647 |
| |
| |||
6670 | 6672 |
| |
6671 | 6673 |
| |
6672 | 6674 |
| |
6673 |
| - | |
6674 |
| - | |
| 6675 | + | |
6675 | 6676 |
| |
| 6677 | + | |
| 6678 | + | |
6676 | 6679 |
| |
6677 | 6680 |
| |
6678 | 6681 |
| |
|
0 commit comments
Comments
(0)