You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by am...@apache.org on 2015/04/21 19:14:32 UTC

drill git commit: DRILL-2827: Allow implicit cast from string to boolean for 'true'/'false' literals.

Repository: drill
Updated Branches:
  refs/heads/master be8d95393 -> a0a1930c4


DRILL-2827: Allow implicit cast from string to boolean for 'true'/'false'  literals.


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

Branch: refs/heads/master
Commit: a0a1930c462e20f4afdc3c741435f3b6e6e6aa59
Parents: be8d953
Author: Aman Sinha <as...@maprtech.com>
Authored: Sun Apr 19 01:21:38 2015 -0700
Committer: Aman Sinha <as...@maprtech.com>
Committed: Tue Apr 21 02:40:28 2015 -0700

----------------------------------------------------------------------
 .../apache/drill/exec/resolver/TypeCastRules.java  |  5 +++++
 .../drill/exec/fn/impl/TestCastFunctions.java      | 17 +++++++++++++++++
 2 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/a0a1930c/exec/java-exec/src/main/java/org/apache/drill/exec/resolver/TypeCastRules.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/resolver/TypeCastRules.java b/exec/java-exec/src/main/java/org/apache/drill/exec/resolver/TypeCastRules.java
index 92302e0..ef4bff3 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/resolver/TypeCastRules.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/resolver/TypeCastRules.java
@@ -547,6 +547,11 @@ public class TypeCastRules {
     rule = new HashSet<MinorType>();
     rule.add(MinorType.TINYINT);
     rule.add(MinorType.BIT);
+    rule.add(MinorType.FIXEDCHAR);
+    rule.add(MinorType.FIXED16CHAR);
+    rule.add(MinorType.VARCHAR);
+    rule.add(MinorType.VAR16CHAR);
+    rule.add(MinorType.VARBINARY);
     rules.put(MinorType.BIT, rule);
 
     /** FIXEDCHAR cast able from **/

http://git-wip-us.apache.org/repos/asf/drill/blob/a0a1930c/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestCastFunctions.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestCastFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestCastFunctions.java
index cbd9d5f..3ba8743 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestCastFunctions.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestCastFunctions.java
@@ -19,6 +19,7 @@ package org.apache.drill.exec.fn.impl;
 
 
 import org.apache.drill.BaseTestQuery;
+import org.apache.drill.common.util.FileUtils;
 import org.junit.Test;
 
 import java.util.Date;
@@ -35,4 +36,20 @@ public class TestCastFunctions extends BaseTestQuery {
       .build().run();
   }
 
+  @Test // DRILL-2827
+  public void testImplicitCastStringToBoolean() throws Exception {
+    String boolTable= FileUtils.getResourceAsFile("/store/json/booleanData.json").toURI().toString();
+
+    String query = String.format(
+        "(select * from dfs_test.`%s` where key = 'true' or key = 'false')", boolTable);
+
+    testBuilder()
+      .sqlQuery(query)
+      .unOrdered()
+      .baselineColumns("key")
+      .baselineValues(true)
+      .baselineValues(false)
+      .build().run();
+  }
+
 }