You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by rb...@apache.org on 2017/07/15 12:02:02 UTC

hive git commit: HIVE-17097. Fix SemiJoinHint parsing in SemanticAnalyzer (Rajesh Balamohan, reviewed by Gopal V, Deepak Jaiswal)

Repository: hive
Updated Branches:
  refs/heads/master b883d313f -> 93dd75d01


HIVE-17097. Fix SemiJoinHint parsing in SemanticAnalyzer (Rajesh Balamohan, reviewed by Gopal V, Deepak Jaiswal)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/93dd75d0
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/93dd75d0
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/93dd75d0

Branch: refs/heads/master
Commit: 93dd75d01867a2f9f740857aa7e961caf4f7b55d
Parents: b883d31
Author: Rajesh Balamohan <rb...@apache.org>
Authored: Sat Jul 15 17:31:37 2017 +0530
Committer: Rajesh Balamohan <rb...@apache.org>
Committed: Sat Jul 15 17:31:37 2017 +0530

----------------------------------------------------------------------
 .../apache/hadoop/hive/ql/parse/SemanticAnalyzer.java   | 12 ++++++++----
 .../org/apache/hadoop/hive/ql/parse/SemiJoinHint.java   |  5 +++++
 2 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/93dd75d0/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
----------------------------------------------------------------------
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 01d19f9..d7f7d48 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
@@ -9082,19 +9082,22 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     String source = args.getChild(curIdx++).getText();
     // validate
     if (StringUtils.isNumeric(source)) {
-      throw new SemanticException("User provided bloom filter entries when source alias is expected");
+      throw new SemanticException("User provided bloom filter entries when source alias is "
+          + "expected. source:" + source);
     }
 
     String colName = args.getChild(curIdx++).getText();
     // validate
     if (StringUtils.isNumeric(colName)) {
-      throw new SemanticException("User provided bloom filter entries when column name is expected");
+      throw new SemanticException("User provided bloom filter entries when column name is "
+          + "expected. colName:" + colName);
     }
 
     String target = args.getChild(curIdx++).getText();
     // validate
-    if (StringUtils.isNumeric(colName)) {
-      throw new SemanticException("User provided bloom filter entries when target alias is expected");
+    if (StringUtils.isNumeric(target)) {
+      throw new SemanticException("User provided bloom filter entries when target alias is "
+          + "expected. target: " + target);
     }
 
     Integer number = null;
@@ -9104,6 +9107,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
         number = Integer.parseInt(args.getChild(curIdx).getText());
         curIdx++;
       } catch (NumberFormatException e) { // Ignore
+        LOG.warn("Number format exception when parsing " + number, e);
       }
     }
     result.computeIfAbsent(source, value -> new ArrayList<>()).add(new SemiJoinHint(colName, target, number));

http://git-wip-us.apache.org/repos/asf/hive/blob/93dd75d0/ql/src/java/org/apache/hadoop/hive/ql/parse/SemiJoinHint.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemiJoinHint.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemiJoinHint.java
index b2c123f..d881c52 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemiJoinHint.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemiJoinHint.java
@@ -38,4 +38,9 @@ public class SemiJoinHint {
   public Integer getNumEntries() {
     return numEntries != null ? numEntries : -1;
   }
+
+  @Override
+  public String toString() {
+    return "colName=" + colName + ", target=" + target + ", numEntries=" + numEntries;
+  }
 }