yiguolei commented on PR #66608: URL: https://github.com/apache/doris/pull/66608#issuecomment-5249929243
设计和正确性判断总体是合理的,尤其是: residual predicate 时禁止下推; 保留上层 global LIMIT; OFFSET 使用 limit + offset; vector search 与普通 scan 分开处理。 但测试覆盖偏弱。当前新增测试只验证了 Thrift: 设置 limit=100 后序列化/反序列化正常; 未设置时字段仍然是 unset。 见 [LanceThriftContractTest.java](https://github.com/apache/doris/blob/7fb0a61db0484e5cefe8913bf00891c47857db15/fe/fe-core/src/test/java/org/apache/doris/datasource/LanceThriftContractTest.java)。 它没有真正覆盖核心逻辑。我会建议至少再补: 可下推 predicate:EXPLAIN 出现 lanceLimit。 residual predicate:不能出现 lanceLimit。 LIMIT 10 OFFSET 100:下推值是 110。 多 fragment 结果正确。 vector search 不走普通 limit。 BE 验证确实调用了 lance_scanner_set_limit。 另外有个很小的不一致:FE 对 LIMIT 0 会显示 lanceLimit=0,但 BE 因为判断 limit > 0 不会设置 Lance scanner limit。通常上层 LIMIT 0 会让扫描根本不执行,所以不是结果正确性问题,但 EXPLAIN 和实际下推行为不完全一致。 @Jay-ju Hello, please add some more tests. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
