You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by vo...@apache.org on 2018/10/08 12:43:52 UTC
[drill] 02/06: DRILL-6759: Make columns array name for csv data
case insensitive
This is an automated email from the ASF dual-hosted git repository.
volodymyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git
commit 0ca84ea40812527b481c5a052687021b43fdfc88
Author: Arina Ielchiieva <ar...@gmail.com>
AuthorDate: Tue Oct 2 16:48:53 2018 +0300
DRILL-6759: Make columns array name for csv data case insensitive
closes #1485
---
.../easy/text/compliant/RepeatedVarCharOutput.java | 2 +-
.../drill/exec/store/text/TestTextColumn.java | 23 +++++++++++++++++++---
2 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/text/compliant/RepeatedVarCharOutput.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/text/compliant/RepeatedVarCharOutput.java
index 57e26f2..05f0773 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/text/compliant/RepeatedVarCharOutput.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/text/compliant/RepeatedVarCharOutput.java
@@ -133,7 +133,7 @@ class RepeatedVarCharOutput extends TextOutput {
for (SchemaPath path : columns) {
assert path.getRootSegment().isNamed() : "root segment should be named";
pathStr = path.getRootSegment().getPath();
- Preconditions.checkArgument(COL_NAME.equals(pathStr) || (SchemaPath.DYNAMIC_STAR.equals(pathStr) && path.getRootSegment().getChild() == null),
+ Preconditions.checkArgument(COL_NAME.equalsIgnoreCase(pathStr) || (SchemaPath.DYNAMIC_STAR.equals(pathStr) && path.getRootSegment().getChild() == null),
String.format("Selected column '%s' must have name 'columns' or must be plain '*'", pathStr));
if (path.getRootSegment().getChild() != null) {
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestTextColumn.java b/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestTextColumn.java
index 8dd122b..2b96924 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestTextColumn.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/store/text/TestTextColumn.java
@@ -22,7 +22,8 @@ import java.util.List;
import org.apache.drill.test.BaseTestQuery;
import org.apache.drill.exec.rpc.user.QueryDataBatch;
import org.junit.Test;
-import static org.junit.Assert.assertTrue;
+
+import static org.junit.Assert.assertEquals;
public class TestTextColumn extends BaseTestQuery {
@Test
@@ -41,7 +42,7 @@ public class TestTextColumn extends BaseTestQuery {
expectedResultSet.addRow("g, h,\",\"i\",\"j,, \\n k");
TestResultSet actualResultSet = new TestResultSet(actualResults);
- assertTrue(expectedResultSet.equals(actualResultSet));
+ assertEquals(expectedResultSet, actualResultSet);
}
@Test
@@ -55,6 +56,22 @@ public class TestTextColumn extends BaseTestQuery {
expectedResultSet.addRow("g, h,", "i", "j,, \\n k", "l\\\"m");
TestResultSet actualResultSet = new TestResultSet(actualResults);
- assertTrue(expectedResultSet.equals(actualResultSet));
+ assertEquals(expectedResultSet, actualResultSet);
+ }
+
+ @Test
+ public void testColumnsCaseInsensitive() throws Exception {
+ testBuilder()
+ .sqlQuery("select columns as c from cp.`store/text/data/letters.csv`")
+ .unOrdered()
+ .sqlBaselineQuery("select COLUMNS as c from cp.`store/text/data/letters.csv`")
+ .go();
+
+ testBuilder()
+ .sqlQuery("select columns[0], columns[1] from cp.`store/text/data/letters.csv`")
+ .unOrdered()
+ .sqlBaselineQuery("select COLUMNS[0], CoLuMnS[1] from cp.`store/text/data/letters.csv`")
+ .go();
}
+
}