[ https://issues.apache.org/jira/browse/DRILL-6199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16402103#comment-16402103 ]
ASF GitHub Bot commented on DRILL-6199: --------------------------------------- Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1152#discussion_r175137249 --- Diff: exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestPushDownAndPruningWithItemStar.java --- @@ -180,4 +248,38 @@ public void testFilterPushDownMultipleConditions() throws Exception { .build(); } + @Test + public void testFilterPushDownWithSeveralNestedStarSubQueries() throws Exception { + String subQuery = String.format("select * from `%s`.`%s`", DFS_TMP_SCHEMA, TABLE_NAME); + String query = String.format("select * from (select * from (select * from (%s))) where o_orderdate = date '1992-01-01'", subQuery); + + String[] expectedPlan = {"numFiles=1, numRowGroups=1, usedMetadataFile=false, columns=\\[`\\*\\*`, `o_orderdate`\\]"}; + String[] excludedPlan = {}; + + PlanTestBase.testPlanMatchingPatterns(query, expectedPlan, excludedPlan); + + testBuilder() + .sqlQuery(query) + .unOrdered() + .sqlBaselineQuery("select * from `%s`.`%s` where o_orderdate = date '1992-01-01'", DFS_TMP_SCHEMA, TABLE_NAME) + .build(); + } + + @Test + public void testFilterPushDownWithSeveralNestedStarSubQueriesWithAdditionalColumns() throws Exception { + String subQuery = String.format("select * from `%s`.`%s`", DFS_TMP_SCHEMA, TABLE_NAME); + String query = String.format("select * from (select * from (select *, o_orderdate from (%s))) where o_orderdate = date '1992-01-01'", subQuery); --- End diff -- Done. > Filter push down doesn't work with more than one nested subqueries > ------------------------------------------------------------------ > > Key: DRILL-6199 > URL: https://issues.apache.org/jira/browse/DRILL-6199 > Project: Apache Drill > Issue Type: Bug > Affects Versions: 1.13.0 > Reporter: Anton Gozhiy > Assignee: Arina Ielchiieva > Priority: Major > Fix For: 1.14.0 > > Attachments: DRILL_6118_data_source.csv > > > *Data set:* > The data is generated used the attached file: *DRILL_6118_data_source.csv* > Data gen commands: > {code:sql} > create table dfs.tmp.`DRILL_6118_parquet_partitioned_by_folders/d1` (c1, c2, > c3, c4, c5) as select cast(columns[0] as int) c1, columns[1] c2, columns[2] > c3, columns[3] c4, columns[4] c5 from dfs.tmp.`DRILL_6118_data_source.csv` > where columns[0] in (1, 3); > create table dfs.tmp.`DRILL_6118_parquet_partitioned_by_folders/d2` (c1, c2, > c3, c4, c5) as select cast(columns[0] as int) c1, columns[1] c2, columns[2] > c3, columns[3] c4, columns[4] c5 from dfs.tmp.`DRILL_6118_data_source.csv` > where columns[0]=2; > create table dfs.tmp.`DRILL_6118_parquet_partitioned_by_folders/d3` (c1, c2, > c3, c4, c5) as select cast(columns[0] as int) c1, columns[1] c2, columns[2] > c3, columns[3] c4, columns[4] c5 from dfs.tmp.`DRILL_6118_data_source.csv` > where columns[0]>3; > {code} > *Steps:* > # Execute the following query: > {code:sql} > explain plan for select * from (select * from (select * from > dfs.tmp.`DRILL_6118_parquet_partitioned_by_folders`)) where c1<3 > {code} > *Expected result:* > numFiles=2, numRowGroups=2, only files from the folders d1 and d2 should be > scanned. > *Actual result:* > Filter push down doesn't work: > numFiles=3, numRowGroups=3, scanning from all files -- This message was sent by Atlassian JIRA (v7.6.3#76005)