forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit7fc7a7c
committed
Fix a violation of WAL coding rules in the recent patch to include an
"all tuples visible" flag in heap page headers. The flag update *must*be applied before calling XLogInsert, but heap_update and the tuplemoving routines in VACUUM FULL were ignoring this rule. A crash andreplay could therefore leave the flag incorrectly set, causing rowsto appear visible in seqscans when they should not be. This might explainrecent reports of data corruption from Jeff Ross and others.In passing, do a bit of editorialization on comments in visibilitymap.c.1 parentcab9a06 commit7fc7a7c
File tree
6 files changed
+105
-83
lines changed- src
- backend
- access/heap
- commands
- include/access
6 files changed
+105
-83
lines changedLines changed: 30 additions & 30 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
78 | 78 |
| |
79 | 79 |
| |
80 | 80 |
| |
81 |
| - | |
| 81 | + | |
| 82 | + | |
82 | 83 |
| |
83 | 84 |
| |
84 | 85 |
| |
| |||
2760 | 2761 |
| |
2761 | 2762 |
| |
2762 | 2763 |
| |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
| 2771 | + | |
| 2772 | + | |
| 2773 | + | |
| 2774 | + | |
| 2775 | + | |
2763 | 2776 |
| |
2764 | 2777 |
| |
2765 | 2778 |
| |
2766 | 2779 |
| |
2767 |
| - | |
2768 |
| - | |
2769 |
| - | |
2770 |
| - | |
2771 |
| - | |
2772 |
| - | |
2773 | 2780 |
| |
2774 | 2781 |
| |
2775 | 2782 |
| |
2776 | 2783 |
| |
2777 |
| - | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
2778 | 2787 |
| |
2779 | 2788 |
| |
2780 | 2789 |
| |
| |||
2785 | 2794 |
| |
2786 | 2795 |
| |
2787 | 2796 |
| |
2788 |
| - | |
2789 |
| - | |
2790 |
| - | |
2791 |
| - | |
2792 |
| - | |
2793 |
| - | |
2794 |
| - | |
2795 |
| - | |
2796 |
| - | |
2797 |
| - | |
2798 |
| - | |
2799 |
| - | |
2800 | 2797 |
| |
2801 | 2798 |
| |
2802 | 2799 |
| |
| |||
3910 | 3907 |
| |
3911 | 3908 |
| |
3912 | 3909 |
| |
3913 |
| - | |
| 3910 | + | |
| 3911 | + | |
3914 | 3912 |
| |
3915 | 3913 |
| |
3916 | 3914 |
| |
| |||
3946 | 3944 |
| |
3947 | 3945 |
| |
3948 | 3946 |
| |
3949 |
| - | |
| 3947 | + | |
3950 | 3948 |
| |
3951 |
| - | |
| 3949 | + | |
3952 | 3950 |
| |
3953 | 3951 |
| |
3954 | 3952 |
| |
| |||
4015 | 4013 |
| |
4016 | 4014 |
| |
4017 | 4015 |
| |
4018 |
| - | |
| 4016 | + | |
| 4017 | + | |
4019 | 4018 |
| |
4020 |
| - | |
| 4019 | + | |
| 4020 | + | |
4021 | 4021 |
| |
4022 | 4022 |
| |
4023 | 4023 |
| |
| |||
4222 | 4222 |
| |
4223 | 4223 |
| |
4224 | 4224 |
| |
4225 |
| - | |
| 4225 | + | |
4226 | 4226 |
| |
4227 | 4227 |
| |
4228 | 4228 |
| |
| |||
4300 | 4300 |
| |
4301 | 4301 |
| |
4302 | 4302 |
| |
4303 |
| - | |
| 4303 | + | |
4304 | 4304 |
| |
4305 | 4305 |
| |
4306 | 4306 |
| |
| |||
4412 | 4412 |
| |
4413 | 4413 |
| |
4414 | 4414 |
| |
4415 |
| - | |
| 4415 | + | |
4416 | 4416 |
| |
4417 | 4417 |
| |
4418 | 4418 |
| |
| |||
4507 | 4507 |
| |
4508 | 4508 |
| |
4509 | 4509 |
| |
4510 |
| - | |
| 4510 | + | |
4511 | 4511 |
| |
4512 | 4512 |
| |
4513 | 4513 |
| |
|
Lines changed: 15 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
19 | 19 |
| |
20 | 20 |
| |
21 | 21 |
| |
22 |
| - | |
23 |
| - | |
24 |
| - | |
25 |
| - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
26 | 26 |
| |
27 | 27 |
| |
28 | 28 |
| |
| |||
34 | 34 |
| |
35 | 35 |
| |
36 | 36 |
| |
37 |
| - | |
| 37 | + | |
38 | 38 |
| |
39 | 39 |
| |
40 |
| - | |
| 40 | + | |
| 41 | + | |
41 | 42 |
| |
42 | 43 |
| |
43 | 44 |
| |
| |||
55 | 56 |
| |
56 | 57 |
| |
57 | 58 |
| |
58 |
| - | |
59 |
| - | |
| 59 | + | |
| 60 | + | |
60 | 61 |
| |
61 | 62 |
| |
62 | 63 |
| |
63 |
| - | |
| 64 | + | |
64 | 65 |
| |
65 | 66 |
| |
66 | 67 |
| |
67 | 68 |
| |
68 |
| - | |
| 69 | + | |
69 | 70 |
| |
70 | 71 |
| |
71 | 72 |
| |
72 | 73 |
| |
73 | 74 |
| |
74 | 75 |
| |
75 | 76 |
| |
76 |
| - | |
| 77 | + | |
77 | 78 |
| |
78 | 79 |
| |
79 | 80 |
| |
80 | 81 |
| |
81 | 82 |
| |
82 | 83 |
| |
83 | 84 |
| |
84 |
| - | |
| 85 | + | |
| 86 | + | |
85 | 87 |
| |
86 | 88 |
| |
87 | 89 |
| |
|
Lines changed: 45 additions & 27 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 |
| - | |
| 16 | + | |
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
| |||
2935 | 2935 |
| |
2936 | 2936 |
| |
2937 | 2937 |
| |
| 2938 | + | |
| 2939 | + | |
2938 | 2940 |
| |
2939 | 2941 |
| |
2940 | 2942 |
| |
| |||
3019 | 3021 |
| |
3020 | 3022 |
| |
3021 | 3023 |
| |
| 3024 | + | |
| 3025 | + | |
| 3026 | + | |
| 3027 | + | |
| 3028 | + | |
| 3029 | + | |
| 3030 | + | |
| 3031 | + | |
| 3032 | + | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
3022 | 3036 |
| |
3023 | 3037 |
| |
3024 | 3038 |
| |
| |||
3027 | 3041 |
| |
3028 | 3042 |
| |
3029 | 3043 |
| |
3030 |
| - | |
| 3044 | + | |
| 3045 | + | |
| 3046 | + | |
3031 | 3047 |
| |
3032 | 3048 |
| |
3033 | 3049 |
| |
| |||
3040 | 3056 |
| |
3041 | 3057 |
| |
3042 | 3058 |
| |
3043 |
| - | |
3044 |
| - | |
3045 |
| - | |
3046 |
| - | |
3047 | 3059 |
| |
3048 | 3060 |
| |
3049 | 3061 |
| |
3050 | 3062 |
| |
3051 |
| - | |
3052 |
| - | |
3053 |
| - | |
| 3063 | + | |
| 3064 | + | |
| 3065 | + | |
| 3066 | + | |
3054 | 3067 |
| |
3055 | 3068 |
| |
3056 | 3069 |
| |
| |||
3084 | 3097 |
| |
3085 | 3098 |
| |
3086 | 3099 |
| |
| 3100 | + | |
| 3101 | + | |
3087 | 3102 |
| |
3088 | 3103 |
| |
3089 | 3104 |
| |
| |||
3134 | 3149 |
| |
3135 | 3150 |
| |
3136 | 3151 |
| |
| 3152 | + | |
| 3153 | + | |
| 3154 | + | |
| 3155 | + | |
| 3156 | + | |
| 3157 | + | |
| 3158 | + | |
| 3159 | + | |
| 3160 | + | |
| 3161 | + | |
| 3162 | + | |
| 3163 | + | |
3137 | 3164 |
| |
3138 | 3165 |
| |
3139 | 3166 |
| |
3140 | 3167 |
| |
3141 | 3168 |
| |
3142 | 3169 |
| |
3143 | 3170 |
| |
3144 |
| - | |
| 3171 | + | |
| 3172 | + | |
| 3173 | + | |
3145 | 3174 |
| |
3146 | 3175 |
| |
3147 | 3176 |
| |
| |||
3151 | 3180 |
| |
3152 | 3181 |
| |
3153 | 3182 |
| |
3154 |
| - | |
3155 |
| - | |
3156 |
| - | |
3157 |
| - | |
3158 |
| - | |
3159 |
| - | |
3160 |
| - | |
3161 |
| - | |
3162 |
| - | |
3163 |
| - | |
3164 |
| - | |
3165 |
| - | |
3166 |
| - | |
3167 |
| - | |
3168 |
| - | |
3169 |
| - | |
3170 |
| - | |
3171 | 3183 |
| |
3172 | 3184 |
| |
3173 | 3185 |
| |
3174 | 3186 |
| |
3175 | 3187 |
| |
3176 | 3188 |
| |
| 3189 | + | |
| 3190 | + | |
| 3191 | + | |
| 3192 | + | |
| 3193 | + | |
| 3194 | + | |
3177 | 3195 |
| |
3178 | 3196 |
| |
3179 | 3197 |
| |
|
0 commit comments
Comments
(0)