forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit04e72ed
committed
BitmapHeapScan: Push skip_fetch optimization into table AM
Commit7c70996 introduced an optimization to allow bitmapscans to operate like index-only scans by not fetching a block from theheap if none of the underlying data is needed and the block is markedall visible in the visibility map.With the introduction of table AMs, a FIXME was added to this codeindicating that the skip_fetch logic should be pushed into the tableAM-specific code, as not all table AMs may use a visibility map in thesame way.This commit resolves this FIXME for the current block. The layeringviolation is still present in BitmapHeapScans's prefetching code, whichuses the visibility map to decide whether or not to prefetch a block.However, this can be addressed independently.Author: Melanie PlagemanReviewed-by: Andres Freund, Heikki Linnakangas, Tomas Vondra, Mark DilgerDiscussion:https://postgr.es/m/CAAKRu_ZwCwWFeL_H3ia26bP2e7HiKLWt0ZmGXPVwPO6uXq0vaA%40mail.gmail.com1 parent87c21bb commit04e72ed
File tree
6 files changed
+105
-93
lines changed- src
- backend
- access/heap
- executor
- include
- access
- nodes
6 files changed
+105
-93
lines changedLines changed: 15 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
967 | 967 |
| |
968 | 968 |
| |
969 | 969 |
| |
| 970 | + | |
| 971 | + | |
970 | 972 |
| |
971 | 973 |
| |
972 | 974 |
| |
| |||
1055 | 1057 |
| |
1056 | 1058 |
| |
1057 | 1059 |
| |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
1058 | 1068 |
| |
1059 | 1069 |
| |
1060 | 1070 |
| |
| |||
1074 | 1084 |
| |
1075 | 1085 |
| |
1076 | 1086 |
| |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
1077 | 1092 |
| |
1078 | 1093 |
| |
1079 | 1094 |
| |
|
Lines changed: 29 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
| 30 | + | |
30 | 31 |
| |
31 | 32 |
| |
32 | 33 |
| |
| |||
2198 | 2199 |
| |
2199 | 2200 |
| |
2200 | 2201 |
| |
| 2202 | + | |
| 2203 | + | |
| 2204 | + | |
| 2205 | + | |
| 2206 | + | |
| 2207 | + | |
| 2208 | + | |
| 2209 | + | |
| 2210 | + | |
| 2211 | + | |
| 2212 | + | |
| 2213 | + | |
| 2214 | + | |
| 2215 | + | |
| 2216 | + | |
| 2217 | + | |
| 2218 | + | |
| 2219 | + | |
2201 | 2220 |
| |
2202 | 2221 |
| |
2203 | 2222 |
| |
| |||
2310 | 2329 |
| |
2311 | 2330 |
| |
2312 | 2331 |
| |
| 2332 | + | |
| 2333 | + | |
| 2334 | + | |
| 2335 | + | |
| 2336 | + | |
| 2337 | + | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
2313 | 2342 |
| |
2314 | 2343 |
| |
2315 | 2344 |
| |
|
Lines changed: 39 additions & 85 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
105 | 105 |
| |
106 | 106 |
| |
107 | 107 |
| |
108 |
| - | |
109 |
| - | |
110 |
| - | |
111 |
| - | |
112 |
| - | |
113 |
| - | |
114 |
| - | |
115 |
| - | |
116 |
| - | |
117 |
| - | |
118 | 108 |
| |
119 | 109 |
| |
120 | 110 |
| |
| |||
195 | 185 |
| |
196 | 186 |
| |
197 | 187 |
| |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
198 | 201 |
| |
199 | 202 |
| |
200 | 203 |
| |
201 |
| - | |
| 204 | + | |
| 205 | + | |
202 | 206 |
| |
203 | 207 |
| |
204 | 208 |
| |
| |||
208 | 212 |
| |
209 | 213 |
| |
210 | 214 |
| |
211 |
| - | |
| 215 | + | |
212 | 216 |
| |
213 | 217 |
| |
214 | 218 |
| |
| |||
229 | 233 |
| |
230 | 234 |
| |
231 | 235 |
| |
| 236 | + | |
| 237 | + | |
232 | 238 |
| |
233 | 239 |
| |
234 | 240 |
| |
235 | 241 |
| |
236 | 242 |
| |
237 |
| - | |
238 |
| - | |
239 |
| - | |
240 |
| - | |
241 |
| - | |
242 |
| - | |
243 |
| - | |
244 |
| - | |
245 |
| - | |
246 |
| - | |
247 |
| - | |
248 |
| - | |
249 |
| - | |
250 |
| - | |
251 |
| - | |
252 |
| - | |
253 |
| - | |
254 |
| - | |
255 |
| - | |
256 |
| - | |
257 |
| - | |
258 |
| - | |
259 |
| - | |
260 |
| - | |
261 |
| - | |
262 |
| - | |
| 243 | + | |
263 | 244 |
| |
264 | 245 |
| |
265 | 246 |
| |
| |||
302 | 283 |
| |
303 | 284 |
| |
304 | 285 |
| |
305 |
| - | |
306 |
| - | |
307 |
| - | |
308 | 286 |
| |
309 | 287 |
| |
310 | 288 |
| |
311 |
| - | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
312 | 293 |
| |
313 |
| - | |
314 |
| - | |
315 |
| - | |
316 |
| - | |
317 |
| - | |
318 |
| - | |
319 |
| - | |
320 |
| - | |
321 |
| - | |
322 |
| - | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
323 | 297 |
| |
324 |
| - | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
325 | 304 |
| |
326 |
| - | |
327 |
| - | |
328 |
| - | |
329 |
| - | |
| 305 | + | |
| 306 | + | |
330 | 307 |
| |
331 |
| - | |
332 |
| - | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
333 | 311 |
| |
334 | 312 |
| |
335 |
| - | |
336 |
| - | |
337 |
| - | |
338 |
| - | |
339 |
| - | |
340 |
| - | |
341 |
| - | |
342 |
| - | |
343 |
| - | |
344 |
| - | |
345 |
| - | |
346 |
| - | |
347 |
| - | |
348 |
| - | |
349 |
| - | |
350 |
| - | |
351 | 313 |
| |
352 | 314 |
| |
353 | 315 |
| |
| |||
519 | 481 |
| |
520 | 482 |
| |
521 | 483 |
| |
522 |
| - | |
| 484 | + | |
523 | 485 |
| |
524 | 486 |
| |
525 | 487 |
| |
| |||
570 | 532 |
| |
571 | 533 |
| |
572 | 534 |
| |
573 |
| - | |
| 535 | + | |
574 | 536 |
| |
575 | 537 |
| |
576 | 538 |
| |
| |||
640 | 602 |
| |
641 | 603 |
| |
642 | 604 |
| |
643 |
| - | |
644 |
| - | |
645 | 605 |
| |
646 | 606 |
| |
647 | 607 |
| |
| |||
651 | 611 |
| |
652 | 612 |
| |
653 | 613 |
| |
654 |
| - | |
655 | 614 |
| |
656 | 615 |
| |
657 | 616 |
| |
| |||
696 | 655 |
| |
697 | 656 |
| |
698 | 657 |
| |
699 |
| - | |
700 |
| - | |
701 | 658 |
| |
702 | 659 |
| |
703 | 660 |
| |
| |||
741 | 698 |
| |
742 | 699 |
| |
743 | 700 |
| |
744 |
| - | |
745 |
| - | |
746 | 701 |
| |
747 | 702 |
| |
748 | 703 |
| |
| |||
753 | 708 |
| |
754 | 709 |
| |
755 | 710 |
| |
756 |
| - | |
757 | 711 |
| |
758 | 712 |
| |
759 | 713 |
| |
|
Lines changed: 10 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
76 | 76 |
| |
77 | 77 |
| |
78 | 78 |
| |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
79 | 89 |
| |
80 | 90 |
| |
81 | 91 |
| |
|
Lines changed: 11 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
63 | 63 |
| |
64 | 64 |
| |
65 | 65 |
| |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
66 | 73 |
| |
67 | 74 |
| |
68 | 75 |
| |
| |||
937 | 944 |
| |
938 | 945 |
| |
939 | 946 |
| |
940 |
| - | |
| 947 | + | |
941 | 948 |
| |
942 | 949 |
| |
943 | 950 |
| |
| 951 | + | |
| 952 | + | |
| 953 | + | |
944 | 954 |
| |
945 | 955 |
| |
946 | 956 |
| |
|
Lines changed: 1 addition & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1794 | 1794 |
| |
1795 | 1795 |
| |
1796 | 1796 |
| |
1797 |
| - | |
1798 |
| - | |
1799 |
| - | |
1800 |
| - | |
| 1797 | + | |
1801 | 1798 |
| |
1802 | 1799 |
| |
1803 | 1800 |
| |
| |||
1817 | 1814 |
| |
1818 | 1815 |
| |
1819 | 1816 |
| |
1820 |
| - | |
1821 |
| - | |
1822 |
| - | |
1823 | 1817 |
| |
1824 | 1818 |
| |
1825 | 1819 |
| |
|
0 commit comments
Comments
(0)