Repository: drill
Updated Branches:
  refs/heads/master e796b91aa -> 2019d336c


DRILL-2099: Fix flatten after sort


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

Branch: refs/heads/master
Commit: 2019d336c92a774c0a3a1bdb1a051665f92fc3eb
Parents: 07a9817
Author: Mehant Baid <meha...@gmail.com>
Authored: Mon Mar 23 14:20:28 2015 -0700
Committer: Parth Chandra <pchan...@maprtech.com>
Committed: Tue Mar 24 12:12:19 2015 -0700

----------------------------------------------------------------------
 .../org/apache/drill/exec/record/VectorContainer.java   |  2 +-
 .../drill/exec/physical/impl/flatten/TestFlatten.java   | 12 ++++++++++++
 .../src/test/resources/flatten/drill-2099-result.json   |  5 +++++
 .../src/test/resources/jsoninput/flatten_post_sort.json |  7 +++++++
 4 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/2019d336/exec/java-exec/src/main/java/org/apache/drill/exec/record/VectorContainer.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/record/VectorContainer.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/record/VectorContainer.java
index 2d60567..5a192a0 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/record/VectorContainer.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/record/VectorContainer.java
@@ -88,7 +88,7 @@ public class VectorContainer implements 
Iterable<VectorWrapper<?>>, VectorAccess
         return (T) newVector;
       }
     } else {
-      v = TypeHelper.getNewVector(field, this.oContext.getAllocator());
+      v = TypeHelper.getNewVector(field, this.oContext.getAllocator(), 
callBack);
       add(v);
     }
     return (T) v;

http://git-wip-us.apache.org/repos/asf/drill/blob/2019d336/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/flatten/TestFlatten.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/flatten/TestFlatten.java
 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/flatten/TestFlatten.java
index 415296f..b9bd99f 100644
--- 
a/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/flatten/TestFlatten.java
+++ 
b/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/flatten/TestFlatten.java
@@ -293,4 +293,16 @@ public class TestFlatten extends BaseTestQuery {
     test(q1);
     test(q2);
   }
+
+  @Test //DRILL-2099
+  public void testFlattenAfterSort() throws Exception {
+    String query = "select flatten(s1.rms.rptd) rptds from " +
+        "(select d.uid uid, flatten(d.map.rm) rms from 
cp.`jsoninput/flatten_post_sort.json` d order by d.uid) s1";
+
+    testBuilder()
+        .sqlQuery(query)
+        .unOrdered()
+        .jsonBaselineFile("flatten/drill-2099-result.json")
+        .go();
+  }
 }

http://git-wip-us.apache.org/repos/asf/drill/blob/2019d336/exec/java-exec/src/test/resources/flatten/drill-2099-result.json
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/resources/flatten/drill-2099-result.json 
b/exec/java-exec/src/test/resources/flatten/drill-2099-result.json
new file mode 100644
index 0000000..8d7ee2f
--- /dev/null
+++ b/exec/java-exec/src/test/resources/flatten/drill-2099-result.json
@@ -0,0 +1,5 @@
+{"rptds": {"a":"foo"}}
+{"rptds": {"b":"boo"}}
+{"rptds": {"a":"bar"}}
+{"rptds": {"c":1}}
+{"rptds": {"d":4.5}}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/drill/blob/2019d336/exec/java-exec/src/test/resources/jsoninput/flatten_post_sort.json
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/resources/jsoninput/flatten_post_sort.json 
b/exec/java-exec/src/test/resources/jsoninput/flatten_post_sort.json
new file mode 100644
index 0000000..8bfa2af
--- /dev/null
+++ b/exec/java-exec/src/test/resources/jsoninput/flatten_post_sort.json
@@ -0,0 +1,7 @@
+{
+  "uid" : 1,
+  "map":{"rm": [
+    {"rptd": [{ "a": "foo"},{"b":"boo"}]},
+    {"rptd": [{ "a": "bar"},{"c":1},{"d":4.5}]}
+  ]}
+}
\ No newline at end of file

Reply via email to