forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit4e82a95
committed
Replace "amgetmulti" AM functions with "amgetbitmap", in which the whole
indexscan always occurs in one call, and the results are returned in aTIDBitmap instead of a limited-size array of TIDs. This should improvespeed a little by reducing AM entry/exit overhead, and it is necessaryinfrastructure if we are ever to support bitmap indexes.In an only slightly related change, add support for TIDBitmaps to preserve(somewhat lossily) the knowledge that particular TIDs reported by an indexneed to have their quals rechecked when the heap is visited. This facilityis not really used yet; we'll need to extend the forced-recheck feature toplain indexscans before it's useful, and that hasn't been coded yet.The intent is to use it to clean up 8.3's horrid @@@ kluge for text searchwith weighted queries. There might be other uses in future, but that onealone is sufficient reason.Heikki Linnakangas, with some adjustments by me.1 parentf260edb commit4e82a95
File tree
30 files changed
+420
-269
lines changed- doc/src/sgml
- src
- backend
- access
- gin
- gist
- hash
- index
- nbtree
- executor
- nodes
- include
- access
- catalog
- nodes
- utils
- test/regress
- expected
- sql
30 files changed
+420
-269
lines changedLines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 |
| - | |
| 1 | + | |
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| |||
473 | 473 |
| |
474 | 474 |
| |
475 | 475 |
| |
476 |
| - | |
| 476 | + | |
477 | 477 |
| |
478 | 478 |
| |
479 |
| - | |
| 479 | + | |
480 | 480 |
| |
481 | 481 |
| |
482 | 482 |
| |
|
Lines changed: 19 additions & 30 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 |
| - | |
| 1 | + | |
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| |||
320 | 320 |
| |
321 | 321 |
| |
322 | 322 |
| |
323 |
| - | |
324 |
| - | |
325 |
| - | |
326 |
| - | |
327 |
| - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
328 | 326 |
| |
329 |
| - | |
330 |
| - | |
331 |
| - | |
332 |
| - | |
333 |
| - | |
334 |
| - | |
335 |
| - | |
336 |
| - | |
337 |
| - | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
338 | 331 |
| |
339 |
| - | |
| 332 | + | |
340 | 333 |
| |
341 | 334 |
| |
342 | 335 |
| |
| |||
491 | 484 |
| |
492 | 485 |
| |
493 | 486 |
| |
494 |
| - | |
| 487 | + | |
495 | 488 |
| |
496 | 489 |
| |
497 |
| - | |
| 490 | + | |
498 | 491 |
| |
499 |
| - | |
500 |
| - | |
501 |
| - | |
502 |
| - | |
503 |
| - | |
504 |
| - | |
505 |
| - | |
506 |
| - | |
507 |
| - | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
508 | 498 |
| |
509 | 499 |
| |
510 | 500 |
| |
| |||
605 | 595 |
| |
606 | 596 |
| |
607 | 597 |
| |
608 |
| - | |
609 |
| - | |
610 |
| - | |
| 598 | + | |
| 599 | + | |
611 | 600 |
| |
612 | 601 |
| |
613 | 602 |
| |
|
Lines changed: 19 additions & 14 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 |
| |
15 | 15 |
| |
| 16 | + | |
16 | 17 |
| |
17 | 18 |
| |
| 19 | + | |
18 | 20 |
| |
19 | 21 |
| |
20 | 22 |
| |
| |||
476 | 478 |
| |
477 | 479 |
| |
478 | 480 |
| |
479 |
| - | |
| 481 | + | |
480 | 482 |
| |
481 | 483 |
| |
482 |
| - | |
483 |
| - | |
484 |
| - | |
| 484 | + | |
| 485 | + | |
485 | 486 |
| |
486 | 487 |
| |
487 | 488 |
| |
488 | 489 |
| |
489 |
| - | |
490 |
| - | |
491 | 490 |
| |
492 |
| - | |
| 491 | + | |
493 | 492 |
| |
494 | 493 |
| |
495 | 494 |
| |
496 |
| - | |
| 495 | + | |
| 496 | + | |
497 | 497 |
| |
498 |
| - | |
499 |
| - | |
500 |
| - | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
501 | 503 |
| |
502 |
| - | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
503 | 508 |
| |
504 | 509 |
| |
505 | 510 |
| |
506 |
| - | |
| 511 | + | |
507 | 512 |
| |
508 | 513 |
| |
509 | 514 |
| |
|
Lines changed: 32 additions & 23 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 |
| |
15 | 15 |
| |
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
| 19 | + | |
19 | 20 |
| |
20 | 21 |
| |
21 | 22 |
| |
22 | 23 |
| |
23 | 24 |
| |
24 | 25 |
| |
25 |
| - | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
26 | 29 |
| |
27 | 30 |
| |
28 | 31 |
| |
| |||
114 | 117 |
| |
115 | 118 |
| |
116 | 119 |
| |
117 |
| - | |
| 120 | + | |
118 | 121 |
| |
119 | 122 |
| |
120 | 123 |
| |
121 | 124 |
| |
122 | 125 |
| |
123 |
| - | |
| 126 | + | |
124 | 127 |
| |
125 | 128 |
| |
126 |
| - | |
127 |
| - | |
128 |
| - | |
| 129 | + | |
| 130 | + | |
129 | 131 |
| |
130 |
| - | |
| 132 | + | |
131 | 133 |
| |
132 |
| - | |
| 134 | + | |
133 | 135 |
| |
134 | 136 |
| |
135 | 137 |
| |
136 |
| - | |
137 |
| - | |
138 |
| - | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
139 | 146 |
| |
140 |
| - | |
141 |
| - | |
142 |
| - | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
143 | 151 |
| |
144 | 152 |
| |
145 | 153 |
| |
| |||
148 | 156 |
| |
149 | 157 |
| |
150 | 158 |
| |
151 |
| - | |
| 159 | + | |
152 | 160 |
| |
153 | 161 |
| |
154 | 162 |
| |
| |||
174 | 182 |
| |
175 | 183 |
| |
176 | 184 |
| |
| 185 | + | |
| 186 | + | |
177 | 187 |
| |
178 | 188 |
| |
179 | 189 |
| |
| |||
285 | 295 |
| |
286 | 296 |
| |
287 | 297 |
| |
288 |
| - | |
289 | 298 |
| |
290 | 299 |
| |
291 | 300 |
| |
292 | 301 |
| |
293 | 302 |
| |
294 | 303 |
| |
295 |
| - | |
296 | 304 |
| |
297 |
| - | |
298 |
| - | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
299 | 308 |
| |
| 309 | + | |
| 310 | + | |
300 | 311 |
| |
301 |
| - | |
| 312 | + | |
302 | 313 |
| |
303 | 314 |
| |
304 | 315 |
| |
| |||
308 | 319 |
| |
309 | 320 |
| |
310 | 321 |
| |
311 |
| - | |
312 | 322 |
| |
313 | 323 |
| |
314 | 324 |
| |
| |||
318 | 328 |
| |
319 | 329 |
| |
320 | 330 |
| |
321 |
| - | |
322 | 331 |
| |
323 | 332 |
| |
324 | 333 |
| |
|
0 commit comments
Comments
(0)