feat: push IN predicate down to Lance filter engine#21
Conversation
9eac2c7 to
714f3b6
Compare
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>
714f3b6 to
5901c26
Compare
|
This PR doubles as a fix for a pre-existing failure on |
hi @fightBoxing review and merge it please |
Summary
LanceDynamicTableSource(previously returned null, forcing Flink to evaluate IN in-process).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#testInPredicatePushDownnow asserts both acceptance and the exact stringstatus IN ('active', 'pending', 'completed').🤖 Generated with Claude Code