Skip to content

feat(scanner): plan every read through the logical planner - #8572

Draft
wjones127 wants to merge 1 commit into
will/logical-planner-8-tailfrom
will/logical-planner-9-default
Draft

feat(scanner): plan every read through the logical planner#8572
wjones127 wants to merge 1 commit into
will/logical-planner-8-tailfrom
will/logical-planner-9-default

Conversation

@wjones127

@wjones127 wjones127 commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Makes the logical planner the read path. Scanner::create_plan becomes a thin wrapper over it, the imperative plan builder it replaces is deleted, and the LANCE_LOGICAL_SCAN_PLANNER switch that selected between them goes with it.

This is deletion only — every behavioural change landed in the PRs below. scanner.rs loses about 3,400 lines.

The equivalence harness goes too. Since #8567 every test in scanner/logical/tests/ has planned its query both ways and asserted the two return the same rows; with one path left there is nothing to compare against. The oracles that state what each answer should be — recall floors, score ordering, expected row sets — stay, and now stand on their own.

fts_index_fragment_bitmap becomes test-only. Planning reads coverage from ScanPlanningContext, which already holds the segments; the function remains as the independent computation the tests check that against.


Stack created with GitHub Stacks CLIGive Feedback 💬

@github-actions github-actions Bot added the enhancement New feature or request label Aug 17, 2026
@wjones127
wjones127 force-pushed the will/logical-planner-9-default branch 2 times, most recently from 0765793 to 5ec2684 Compare August 17, 2026 18:17
@wjones127
wjones127 force-pushed the will/logical-planner-9-default branch from 5ec2684 to 66b9d90 Compare August 17, 2026 18:43
`Scanner::create_plan` now delegates to the logical planner, and the
imperative plan builder it replaces is deleted along with the
`LANCE_LOGICAL_SCAN_PLANNER` switch that selected between them.

The equivalence harness goes with it: it compared the two paths' rows, and
there is only one path left. The oracles that state what each answer should be
stay.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@wjones127
wjones127 force-pushed the will/logical-planner-9-default branch from 66b9d90 to 7ed589f Compare August 17, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant