nsivabalan commented on issue #20527: URL: https://github.com/apache/hudi/issues/20527#issuecomment-6645305959
+1 on the approach, @voonhous. Splitting translation into Shape / Leaf / Range / Verdict gives every mechanism in #20449 a single place to land, and the `Step` direction slot is what makes order-reversing functions (negative factors, `datediff(k, col)`) possible at all. Each known bug becomes a one-place fix instead of a per-case patch. The design also matches how Iceberg, DataFusion and ClickHouse structure the same problem, which makes it easier for future contributors to reason about. I went through the prototype in #20524 case by case against master's `tryComposeIndexFilterExpr`, and the output matches. Please take it out of prototype mode and open it up for full review: - update the issue body, which still says "Prototype: #20524", and drop the "DO NOT MERGE" framing from the commits / squash message; - address the review comments, mainly making `Range.rebindOffChainReferences` safe before any `Decreasing` step exists; - tick the Spark 4.x and expression index suites on the checklist once CI confirms them. Agree with the order: #20524 first, then rebase #20513 onto it, then the follow-ups one PR each. -- 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]
