forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitf598392
committed
Allow create_index_paths() to consider multiple join bitmapscan paths.
In the initial cut at the "parameterized paths" feature, I'd simplifiedcreate_index_paths() to the point where it would only generate a singleparameterized bitmap path per relation. Experimentation with an examplesupplied by Josh Berkus convinces me that that's not good enough: we reallyneed to consider a bitmap path for each possible outer relation. Otherwisewe have regressions relative to pre-9.2 versions, in which the plannerpicks a plain indexscan where it should have used a bitmap scan in queriesinvolving three or more tables. Indeed, after fixing this, several queriesin the regression tests show improved plans as a result of using bitmap notplain indexscans.1 parent56ba337 commitf598392
File tree
2 files changed
+99
-27
lines changed- src
- backend/optimizer/path
- test/regress/expected
2 files changed
+99
-27
lines changedLines changed: 82 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
309 | 309 |
| |
310 | 310 |
| |
311 | 311 |
| |
312 |
| - | |
313 |
| - | |
314 |
| - | |
315 |
| - | |
316 |
| - | |
317 |
| - | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
318 | 318 |
| |
319 | 319 |
| |
320 | 320 |
| |
321 |
| - | |
322 |
| - | |
323 |
| - | |
324 |
| - | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
325 | 324 |
| |
326 |
| - | |
327 |
| - | |
328 |
| - | |
329 |
| - | |
330 |
| - | |
331 |
| - | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
332 | 398 |
| |
333 | 399 |
| |
334 | 400 |
| |
|
Lines changed: 17 additions & 11 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2725 | 2725 |
| |
2726 | 2726 |
| |
2727 | 2727 |
| |
2728 |
| - | |
2729 |
| - | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
2730 | 2732 |
| |
2731 | 2733 |
| |
2732 |
| - | |
| 2734 | + | |
2733 | 2735 |
| |
2734 | 2736 |
| |
2735 | 2737 |
| |
| |||
2743 | 2745 |
| |
2744 | 2746 |
| |
2745 | 2747 |
| |
2746 |
| - | |
2747 |
| - | |
| 2748 | + | |
| 2749 | + | |
| 2750 | + | |
| 2751 | + | |
2748 | 2752 |
| |
2749 | 2753 |
| |
2750 |
| - | |
| 2754 | + | |
2751 | 2755 |
| |
2752 | 2756 |
| |
2753 | 2757 |
| |
2754 | 2758 |
| |
2755 | 2759 |
| |
2756 | 2760 |
| |
2757 |
| - | |
2758 |
| - | |
| 2761 | + | |
| 2762 | + | |
2759 | 2763 |
| |
2760 | 2764 |
| |
2761 | 2765 |
| |
2762 | 2766 |
| |
2763 | 2767 |
| |
2764 | 2768 |
| |
2765 |
| - | |
2766 |
| - | |
| 2769 | + | |
| 2770 | + | |
| 2771 | + | |
| 2772 | + | |
2767 | 2773 |
| |
2768 | 2774 |
| |
2769 | 2775 |
| |
2770 | 2776 |
| |
2771 |
| - | |
| 2777 | + | |
2772 | 2778 |
| |
2773 | 2779 |
| |
2774 | 2780 |
| |
|
0 commit comments
Comments
(0)