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