[
https://issues.apache.org/jira/browse/IMPALA-15098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Quanlong Huang updated IMPALA-15098:
------------------------------------
Description:
Currently the expression canonicalization just deal with a small set of
predicates like InPredicate, BinaryPredicate. Canonicalization on other
expressions depend on ExprRewriter during analysis, e.g. converting "1 = a" to
"a = 1".
We should at least canonicalize disjuncts like "a = 1 OR b = 2" so it matches
"b = 2 OR a = 1" in EXPR_REWRITE strategy.
We should also handle common complex predicates on string partition columns for
dates, e.g. canonicalize "substr(p, 1, 4) = '2025'" to "substr(p, 1, 4) =
<CONST>" in
IGNORE_PARTITION_CONSTANTS strategy.
When we support more kinds of expressions in canonicalization, we should also
consider the cost and add a limit to cap it.
was:
Currently the expression canonicalization just deal with a small set of
predicates like InPredicate, BinaryPredicate. Canonicalization on other
expressions depend on ExprRewriter during analysis, e.g. converting "1 = a" to
"a = 1".
We should at least canonicalize disjuncts like "a = 1 OR b = 2" so it matches
"b = 2 OR a = 1" in EXPR_REWRITE strategy.
We should also handle common complex predicates on string partition columns for
dates, e.g. canonicalize "substr(p, 1, 4) = '2025'" to "substr(p, 1, 4) =
<CONST>" in
IGNORE_PARTITION_CONSTANTS strategy.
> Canonicalize more kinds of expressions
> --------------------------------------
>
> Key: IMPALA-15098
> URL: https://issues.apache.org/jira/browse/IMPALA-15098
> Project: IMPALA
> Issue Type: Improvement
> Components: Frontend
> Reporter: Quanlong Huang
> Assignee: Quanlong Huang
> Priority: Major
>
> Currently the expression canonicalization just deal with a small set of
> predicates like InPredicate, BinaryPredicate. Canonicalization on other
> expressions depend on ExprRewriter during analysis, e.g. converting "1 = a"
> to "a = 1".
> We should at least canonicalize disjuncts like "a = 1 OR b = 2" so it matches
> "b = 2 OR a = 1" in EXPR_REWRITE strategy.
> We should also handle common complex predicates on string partition columns
> for dates, e.g. canonicalize "substr(p, 1, 4) = '2025'" to "substr(p, 1, 4) =
> <CONST>" in
> IGNORE_PARTITION_CONSTANTS strategy.
> When we support more kinds of expressions in canonicalization, we should also
> consider the cost and add a limit to cap it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]