zabetak opened a new pull request, #3299: URL: https://github.com/apache/hive/pull/3299
### What changes were proposed in this pull request and why? 1. Decouple sort filter optimization from digest normalization by refactoring `HiveSortFilterPredicates` into a (DFS) visitor. We cannot use planner or rules cause they make use of digest. Performing this optimization using a visitor slightly simplifies the code since there is no need to have a registry since we are not going to visit a node twice. 2. Move the optimization after all post-join transformations to avoid having other optimizations cancel the benefit of the sort filter predicates. As shown by the plan changes here, now we can see some additional cases where the optimization is effective and wasn't done previously. ### Does this PR introduce _any_ user-facing change? Possibly more efficient plan in certain cases. ### How was this patch tested? Existing CBO tests by enabling (https://github.com/apache/hive/commit/0091373bdcbd6445f4aaa359801a2ea2276e3db7), disabling (https://github.com/apache/hive/commit/7567730c66523a89d5fe13af723e6b252d8f89f7) normalization and checking plan changes. -- 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]
