Commit d368ef5
committed
Merge pull request #7 from spiceai/mach/compound-art-scan
Squashed commit of the following:
commit 36ffa5b
Author: David Stancu <david@spice.ai>
Date: Mon Nov 3 12:30:28 2025 -0500
tryscanindex sanity check: indexed_columns / art column ids may not need remapping if the scan is not a view scan
commit 525f9c7
Author: David Stancu <david@spice.ai>
Date: Thu Oct 30 10:42:17 2025 -0400
do not do index scan if there are other non index filters in the predicate (fix shutdown_create_index.test)
commit b0a6e2d
Author: David Stancu <david@spice.ai>
Date: Thu Oct 30 10:04:54 2025 -0400
add test, bail out for eg composite query with IN () list
commit a22a430
Author: David Stancu <david@spice.ai>
Date: Wed Oct 29 16:37:30 2025 -0400
simplify filter expression storage index bindings (just reuse the ones we made earlier), fix single-ref-per-expr predicate to correctly walk expr tree and yank refs (allowing nesting in fns, etc)
commit 9c8c1ed
Author: David Stancu <david@spice.ai>
Date: Wed Oct 29 15:11:23 2025 -0400
copy index expressions before rewriting column refs
commit aff2c98
Author: David Stancu <david@spice.ai>
Date: Wed Oct 29 14:36:33 2025 -0400
table scan:
rebind projected columns in ALL index exprs
do not bail out early if more than one index expr
hook up composite key scan
commit bfc6f02
Author: David Stancu <david@spice.ai>
Date: Wed Oct 29 14:35:09 2025 -0400
make specialized compound key scan state for eq compares, specialized scan using ARTKey::Concat1 parent b390a7c commit d368ef5
4 files changed
Lines changed: 207 additions & 44 deletions
File tree
- src
- execution/index/art
- function/table
- include/duckdb/execution/index/art
- test/sql/index/art/scan
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
3 | 6 | | |
4 | 7 | | |
5 | 8 | | |
| |||
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
42 | 56 | | |
43 | 57 | | |
44 | 58 | | |
| |||
142 | 156 | | |
143 | 157 | | |
144 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
145 | 187 | | |
146 | 188 | | |
147 | 189 | | |
| |||
675 | 717 | | |
676 | 718 | | |
677 | 719 | | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
678 | 744 | | |
679 | 745 | | |
680 | 746 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
| |||
486 | 488 | | |
487 | 489 | | |
488 | 490 | | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
493 | 494 | | |
494 | 495 | | |
495 | | - | |
| 496 | + | |
496 | 497 | | |
497 | 498 | | |
498 | | - | |
499 | | - | |
| 499 | + | |
| 500 | + | |
500 | 501 | | |
501 | 502 | | |
502 | 503 | | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
503 | 533 | | |
504 | | - | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
505 | 537 | | |
506 | 538 | | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
513 | 546 | | |
514 | 547 | | |
515 | 548 | | |
516 | | - | |
517 | | - | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
518 | 561 | | |
519 | 562 | | |
520 | 563 | | |
521 | 564 | | |
522 | 565 | | |
523 | 566 | | |
524 | 567 | | |
525 | | - | |
526 | | - | |
527 | | - | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
528 | 574 | | |
529 | 575 | | |
530 | 576 | | |
531 | 577 | | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | 578 | | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
| 579 | + | |
| 580 | + | |
544 | 581 | | |
545 | | - | |
546 | | - | |
547 | | - | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
548 | 591 | | |
549 | 592 | | |
550 | | - | |
551 | | - | |
552 | | - | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
553 | 598 | | |
554 | 599 | | |
555 | 600 | | |
556 | | - | |
557 | | - | |
558 | | - | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
559 | 604 | | |
560 | 605 | | |
561 | 606 | | |
562 | 607 | | |
563 | | - | |
564 | | - | |
| 608 | + | |
565 | 609 | | |
566 | 610 | | |
567 | 611 | | |
568 | 612 | | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
569 | 629 | | |
570 | 630 | | |
571 | 631 | | |
| |||
588 | 648 | | |
589 | 649 | | |
590 | 650 | | |
591 | | - | |
592 | | - | |
593 | | - | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
594 | 654 | | |
595 | 655 | | |
596 | 656 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
70 | 72 | | |
71 | 73 | | |
72 | 74 | | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
73 | 81 | | |
74 | 82 | | |
75 | 83 | | |
76 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
77 | 89 | | |
78 | 90 | | |
79 | 91 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
0 commit comments