[ 
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]

Reply via email to