Thomas Tauber-Marshall has uploaded a new patch set (#2). Change subject: IMPALA-5294: Kudu INSERT partitioning fails with constants ......................................................................
IMPALA-5294: Kudu INSERT partitioning fails with constants An INSERT into a Kudu table with a constant value being inserted into a partition column causes an IllegalStateExcaption. This is because DistributedPlanner removes constants from the list of partition exprs before creating the KuduPartitionExpr, but KuduPartitionExpr expects to get one expr per partition column. The fix is to pass the full list of partition exprs into the KuduPartitionExpr, instead of the list that has had constants removed. This preserves the behavior that if all of the partition exprs are constant we fall back to UNPARTITIONED. One complication is that if a partition expr is a NullLiteral, it must be cast to a specific type to be passed to the BE. The InsertStmt will cast the partition exprs to the partition column types, but these casts may be lost from the copies of the partition exprs stored by the KuduPartitionExpr during reset(). To fix this, the KuduPartitionExpr can store the types of the partition cols and recast the partition exprs to those types during analyze(). Change-Id: I12cbb319f9a5c47fdbfee347b47650186b27f8f9 --- M fe/src/main/java/org/apache/impala/analysis/KuduPartitionExpr.java M fe/src/main/java/org/apache/impala/planner/DistributedPlanner.java M testdata/workloads/functional-query/queries/QueryTest/kudu_insert.test 3 files changed, 45 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/28/6828/2 -- To view, visit http://gerrit.cloudera.org:8080/6828 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I12cbb319f9a5c47fdbfee347b47650186b27f8f9 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Thomas Tauber-Marshall <[email protected]> Gerrit-Reviewer: Marcel Kornacker <[email protected]> Gerrit-Reviewer: Matthew Jacobs <[email protected]>
