Skip to content

feat: push IN predicate down to Lance filter engine#21

Open
wombatu-kun wants to merge 1 commit into
lance-format:mainfrom
wombatu-kun:feature/in-pushdown
Open

feat: push IN predicate down to Lance filter engine#21
wombatu-kun wants to merge 1 commit into
lance-format:mainfrom
wombatu-kun:feature/in-pushdown

Conversation

@wombatu-kun
Copy link
Copy Markdown

Summary

  • Implement IN predicate pushdown in LanceDynamicTableSource (previously returned null, forcing Flink to evaluate IN in-process).
  • Expose getFilters() so tests can verify the rendered Lance SQL.

Test plan

  • mvn test — 178/178 passing (17 skipped = MinIO integration gate, no env vars).
  • LanceReadOptimizationsTest#testInPredicatePushDown now asserts both acceptance and the exact string status IN ('active', 'pending', 'completed').

🤖 Generated with Claude Code

Render `field IN (v1, v2, ...)` from Flink's IN CallExpression
using the existing literal-escaping helper, and expose getFilters()
so tests can assert the exact Lance SQL string.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant