[
https://issues.apache.org/jira/browse/FLINK-27217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-27217:
-----------------------------------
Labels: pull-request-available (was: )
> Support partition filter push down when there exists default_parition
> ---------------------------------------------------------------------
>
> Key: FLINK-27217
> URL: https://issues.apache.org/jira/browse/FLINK-27217
> Project: Flink
> Issue Type: Sub-task
> Components: Connectors / Hive
> Reporter: luoyuxia
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.16.0
>
>
> Using Hive dialect, when the table's partition column is nullable, and when
> insert a row whose value of partition column is null, the row will be
> assigned to the partition with value
> 'HiveConf.ConfVars.DEFAULTPARTITIONNAME', default is
> "__HIVE_DEFAULT_PARTITION__".
> Like this :
>
> {code:java}
> create table ptestfilter (a string) partitioned by (c int);
> INSERT OVERWRITE TABLE ptestfilter PARTITION (c) select 'Col1', null;
> INSERT OVERWRITE TABLE ptestfilter PARTITION (c) select 'Col2', 5;
> select * from ptestfilter where c between 2 and 6 ;{code}
> It'll try to do partition filter push down, and cast the
> '__HIVE_DEFAULT_PARTITION__' to int type, then it will fail with the
> following exception:
> {code:java}
> java.lang.NumberFormatException: For input string:
> "__HIVE_DEFAULT_PARTITION__"
> at
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
> at java.lang.Integer.parseInt(Integer.java:580)
> at java.lang.Integer.parseInt(Integer.java:615)
> at scala.collection.immutable.StringLike$class.toInt(StringLike.scala:273)
> at scala.collection.immutable.StringOps.toInt(StringOps.scala:29)
> at
> org.apache.flink.table.planner.plan.utils.PartitionPruner$.org$apache$flink$table$planner$plan$utils$PartitionPruner$$convertPartitionFieldValue(PartitionPruner.scala:173)
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)