This is an automated email from the ASF dual-hosted git repository. kgyrtkirk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hive.git
commit 5bc0364565171d0d79937ce4f53a136c68693466 Author: Miklos Gergely <mgerg...@hortonworks.com> AuthorDate: Mon May 27 15:49:19 2019 +0200 HIVE-21791: Fix Surrogate Key issue for insert with select with limit operations (Miklos Gergely via Zoltan Haindrich) Signed-off-by: Zoltan Haindrich <k...@rxd.hu> --- .../apache/hadoop/hive/ql/parse/SemanticAnalyzer.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index a3da075..aadbf38 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -8013,16 +8013,18 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer { } private void setWriteIdForSurrogateKeys(LoadTableDesc ltd, Operator input) throws SemanticException { - Map<String, ExprNodeDesc> columnExprMap = input.getConf().getColumnExprMap(); - if (ltd == null || columnExprMap == null) { + if (ltd == null) { return; } - for (ExprNodeDesc desc : columnExprMap.values()) { - if (desc instanceof ExprNodeGenericFuncDesc) { - GenericUDF genericUDF = ((ExprNodeGenericFuncDesc)desc).getGenericUDF(); - if (genericUDF instanceof GenericUDFSurrogateKey) { - ((GenericUDFSurrogateKey)genericUDF).setWriteId(ltd.getWriteId()); + Map<String, ExprNodeDesc> columnExprMap = input.getConf().getColumnExprMap(); + if (columnExprMap != null) { + for (ExprNodeDesc desc : columnExprMap.values()) { + if (desc instanceof ExprNodeGenericFuncDesc) { + GenericUDF genericUDF = ((ExprNodeGenericFuncDesc)desc).getGenericUDF(); + if (genericUDF instanceof GenericUDFSurrogateKey) { + ((GenericUDFSurrogateKey)genericUDF).setWriteId(ltd.getWriteId()); + } } } }