paul-rogers commented on a change in pull request #1914: DRILL-7458: Base 
framework for storage plugins
URL: https://github.com/apache/drill/pull/1914#discussion_r369364526
 
 

 ##########
 File path: 
exec/java-exec/src/test/java/org/apache/drill/exec/store/base/TestProjectPushDown.java
 ##########
 @@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.drill.exec.store.base;
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.drill.exec.physical.rowSet.RowSet;
+import org.apache.drill.exec.store.StoragePluginRegistry;
+import org.apache.drill.test.ClusterFixtureBuilder;
+import org.apache.drill.test.ClusterTest;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class TestProjectPushDown extends ClusterTest {
+
+  @BeforeClass
+  public static void setup() throws Exception {
+    ClusterFixtureBuilder builder = new ClusterFixtureBuilder(dirTestWatcher);
+    startCluster(builder);
+
+    StoragePluginRegistry pluginRegistry = 
cluster.drillbit().getContext().getStorage();
+    DummyStoragePluginConfig config1 =
+        new DummyStoragePluginConfig(true, false, true);
+    pluginRegistry.createOrUpdate("dummy", config1, true);
+  }
+
+  @Test
+  public void testPushDownEnabled() throws Exception {
+    String plan = client.queryBuilder().sql("SELECT a, b, c from 
dummy.myTable").explainJson();
+    // DRILL-7451: should be 0
+    assertEquals(1, StringUtils.countMatches(plan, "\"pop\" : \"project\""));
+  }
+
+  @Test
+  public void testDummyReader() throws Exception {
+    RowSet results = client.queryBuilder().sql("SELECT a, b, c from 
dummy.myTable").rowSet();
+    assertEquals(3, results.rowCount());
 
 Review comment:
   No. But that is true in all tests. If a test fails, we leave vectors in 
memory and we get messages about allocators that still have allocations.
   
   Would be very messy to try to clean this up in every test. And, after all, 
tests are not supposed to fail.
   
   If we wanted to solve this, a better solution would be to come up with a way 
to walk the allocator tree and free any remaining resources. Call this when we 
shut down the test cluster.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to