Repository: lens
Updated Branches:
  refs/heads/master e6a59b739 -> 1bb189b30


LENS-1343 : Fix expression not being propagated to error message in 
COULD_NOT_PARSE_EXPRESSION error


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/1bb189b3
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/1bb189b3
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/1bb189b3

Branch: refs/heads/master
Commit: 1bb189b30f99413fffd5ee978b7fbd728a03c268
Parents: e6a59b7
Author: Rajat Khandelwal <[email protected]>
Authored: Thu Oct 6 10:21:12 2016 +0530
Committer: Amareshwari Sriramadasu <[email protected]>
Committed: Thu Oct 6 10:21:12 2016 +0530

----------------------------------------------------------------------
 .../org/apache/lens/cube/parse/HQLParser.java   |  2 +-
 .../apache/lens/cube/parse/TestHQLParser.java   | 21 ++++++++++++++++++++
 lens-cube/src/test/resources/hive-site.xml      | 10 ++++++++++
 3 files changed, 32 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lens/blob/1bb189b3/lens-cube/src/main/java/org/apache/lens/cube/parse/HQLParser.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/HQLParser.java 
b/lens-cube/src/main/java/org/apache/lens/cube/parse/HQLParser.java
index 6e52d32..1976248 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/parse/HQLParser.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/HQLParser.java
@@ -201,7 +201,7 @@ public final class HQLParser {
     try {
       tree = driver.parseExpression(expr);
     } catch (ParseException e) {
-      throw new LensException(COULD_NOT_PARSE_EXPRESSION.getLensErrorInfo(), 
e, e.getMessage());
+      throw new LensException(COULD_NOT_PARSE_EXPRESSION.getLensErrorInfo(), 
e, expr);
     }
     return ParseUtils.findRootNonNullToken(tree);
   }

http://git-wip-us.apache.org/repos/asf/lens/blob/1bb189b3/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
----------------------------------------------------------------------
diff --git 
a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java 
b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
index 861d4f7..2619cb0 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestHQLParser.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.lens.cube.error.LensCubeErrorCode;
 import org.apache.lens.server.api.error.LensException;
 
 import org.apache.hadoop.hive.conf.HiveConf;
@@ -489,4 +490,24 @@ public class TestHQLParser {
     ASTNode tree = HQLParser.parseHQL(expr, conf);
     Assert.assertEquals(HQLParser.getString((ASTNode) 
tree.getChild(1).getChild(0)), dirString);
   }
+
+  @DataProvider
+  public Object[][] exprDataProvider() {
+    return new Object[][] {
+      {"a.b", true},
+      {"a.date", false},
+    };
+  }
+
+  @Test(dataProvider = "exprDataProvider")
+  public void testParseExpr(String expr, boolean success) {
+    try {
+      HQLParser.parseExpr(expr);
+      Assert.assertTrue(success);
+    } catch (LensException e) {
+      Assert.assertFalse(success);
+      Assert.assertTrue(e.getMessage().contains(expr));
+      
Assert.assertTrue(e.getMessage().contains(LensCubeErrorCode.COULD_NOT_PARSE_EXPRESSION.name()));
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/lens/blob/1bb189b3/lens-cube/src/test/resources/hive-site.xml
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/resources/hive-site.xml 
b/lens-cube/src/test/resources/hive-site.xml
index d21e61c..68dedfc 100644
--- a/lens-cube/src/test/resources/hive-site.xml
+++ b/lens-cube/src/test/resources/hive-site.xml
@@ -57,4 +57,14 @@
     <value>true</value>
   </property>
 
+  <property>
+    <name>hive.metastore.schema.verification</name>
+    <value>false</value>
+  </property>
+
+  <property>
+    <name>hive.support.sql11.reserved.keywords</name>
+    <value>false</value>
+  </property>
+
 </configuration>

Reply via email to