forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitbe14f88
committed
Fix deduplication "single value" strategy bug.
It was possible for deduplication's single value strategy to mistakenlybelieve that a very small duplicate tuple counts as one of the six largetuples that it aims to leave behind after the page finally splits. Thiscould cause slightly suboptimal space utilization with very lowcardinality indexes, though only under fairly narrow conditions.To fix, be particular about what kind of tuple counts as amaxpostingsize-capped tuple. This avoids confusion in the event of asmall tuple that gets "wedged" between two large tuples, where alltuples on the page are duplicates of the same value.Discussion:https://postgr.es/m/CAH2-Wz=Y+sgSFc-O3LpiZX-POx2bC+okec2KafERHuzdVa7-rQ@mail.gmail.comBackpatch: 13-, where deduplication was introduced (by commit0d861bb)1 parentf9e9704 commitbe14f88
File tree
4 files changed
+32
-13
lines changed- src
- backend/access/nbtree
- include/access
4 files changed
+32
-13
lines changedLines changed: 28 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
62 | 62 |
| |
63 | 63 |
| |
64 | 64 |
| |
65 |
| - | |
66 | 65 |
| |
67 | 66 |
| |
68 | 67 |
| |
| |||
124 | 123 |
| |
125 | 124 |
| |
126 | 125 |
| |
| 126 | + | |
127 | 127 |
| |
128 | 128 |
| |
129 | 129 |
| |
| |||
204 | 204 |
| |
205 | 205 |
| |
206 | 206 |
| |
207 |
| - | |
208 | 207 |
| |
209 | 208 |
| |
210 | 209 |
| |
211 | 210 |
| |
212 | 211 |
| |
213 | 212 |
| |
214 |
| - | |
215 |
| - | |
216 |
| - | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
217 | 216 |
| |
218 |
| - | |
219 |
| - | |
220 |
| - | |
221 |
| - | |
222 |
| - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
223 | 222 |
| |
224 |
| - | |
| 223 | + | |
225 | 224 |
| |
226 |
| - | |
| 225 | + | |
227 | 226 |
| |
228 | 227 |
| |
229 | 228 |
| |
| |||
237 | 236 |
| |
238 | 237 |
| |
239 | 238 |
| |
240 |
| - | |
241 | 239 |
| |
242 | 240 |
| |
243 | 241 |
| |
| |||
404 | 402 |
| |
405 | 403 |
| |
406 | 404 |
| |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
407 | 421 |
| |
| 422 | + | |
408 | 423 |
| |
409 | 424 |
| |
410 | 425 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1095 | 1095 |
| |
1096 | 1096 |
| |
1097 | 1097 |
| |
| 1098 | + | |
1098 | 1099 |
| |
1099 | 1100 |
| |
1100 | 1101 |
| |
| |||
1310 | 1311 |
| |
1311 | 1312 |
| |
1312 | 1313 |
| |
| 1314 | + | |
1313 | 1315 |
| |
1314 | 1316 |
| |
1315 | 1317 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
483 | 483 |
| |
484 | 484 |
| |
485 | 485 |
| |
| 486 | + | |
486 | 487 |
| |
487 | 488 |
| |
488 | 489 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
739 | 739 |
| |
740 | 740 |
| |
741 | 741 |
| |
| 742 | + | |
742 | 743 |
| |
743 | 744 |
| |
744 | 745 |
| |
|
0 commit comments
Comments
(0)