[ 
https://issues.apache.org/jira/browse/IMPALA-15633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arnab Karmakar resolved IMPALA-15633.
-------------------------------------
    Fix Version/s: Impala 5.0.0
       Resolution: Fixed

> Iceberg predicate push down unescapes constant folded string literals again
> ---------------------------------------------------------------------------
>
>                 Key: IMPALA-15633
>                 URL: https://issues.apache.org/jira/browse/IMPALA-15633
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>            Reporter: Zoltán Borók-Nagy
>            Assignee: Arnab Karmakar
>            Priority: Major
>              Labels: correctness, impala-iceberg
>             Fix For: Impala 5.0.0
>
>
> IcebergPredicateConverter gets the value of string literals with 
> {{StringLiteral.getUnescapedValue()}}. Literals created by constant folding 
> are already unescaped, so their backslashes are treated as escape characters 
> again, and Iceberg filters on a different value. String literals that are not 
> valid UTF-8 make the query fail.
> {code:sql}
> create table t (s string) partitioned by spec (s) stored as iceberg;
> insert into t values (concat('a', chr(92), 'b'));
> select count(*) from t where s = concat('a', chr(92), 'b');
> -- returns 0, expected 1
> select count(*) from t where s = unhex('FF');
> -- fails: IllegalStateException: non-utf8 string: unhex("FF")
> {code}
> Non-partition columns are affected the same way when their predicates are 
> pushed down.
> Found while working on IMPALA-15629. Master only pushes down predicates to 
> Iceberg if one of them is on a partition column, or on a column listed in the 
> {{impala.iceberg.push_down_hint}} table property, so the repros use these. 
> IMPALA-15629 would push down predicates on any column.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to