.unOrdered() .csvBaselineFile("testframework/unionDistinct/q18_1.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("key") .build() .run(); .unOrdered() .csvBaselineFile("testframework/unionDistinct/q18_2.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("key") .build() .run(); .unOrdered() .csvBaselineFile("testframework/unionDistinct/q18_3.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("key") .build() .run();
majorType = baselineTypes[i]; } else if (baselineTypeMap != null) { majorType = baselineTypeMap.get(parsePath(baselineColumns[i])); } else { throw new Exception("Type information not set for interpreting csv baseline file."); getNameOfMinorType(majorType.getMinorType()) + precision + " ) " + baselineColumns[i].replace('`', '"');
.unOrdered() .csvBaselineFile("testframework/testExampleQueries/testHavingAggFunction/q2.tsv") .baselineTypes(MinorType.INT) .baselineColumns("col") .build() .run();
.unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/q18_1.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("key") .build().run(); .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/q18_2.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("key") .build().run(); .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/q18_3.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("key") .build().run();
.ordered() .csvBaselineFile("testframework/testStarQueries/testSelStarCommaSameColumnRepeated/q1.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR, MinorType.VARCHAR) .baselineColumns("n_name", "n_nationkey", "n_name0", "n_regionkey", "n_comment", "n_name00", "n_name1") .build().run(); .ordered() .csvBaselineFile("testframework/testStarQueries/testSelStarCommaSameColumnRepeated/q2.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR, MinorType.VARCHAR) .baselineColumns("n_name", "n_nationkey", "n_name0", "n_regionkey", "n_comment", "n_name00", "n_name1") .build().run(); .ordered() .csvBaselineFile("testframework/testStarQueries/testSelStarCommaSameColumnRepeated/q3.tsv") .baselineTypes(MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_name", "n_regionkey", "n_comment", "n_name0", "n_nationkey0", "n_name1", "n_regionkey0", "n_comment0", "n_name00", "n_name10") .build().run(); .ordered() .csvBaselineFile("testframework/testStarQueries/testSelStarCommaSameColumnRepeated/q4.tsv") .baselineTypes(MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_name", "n_regionkey", "n_comment", "n_name0", "n_nationkey0", "n_name1", "n_regionkey0", "n_comment0", "n_name00", "n_name10") .build().run();
.unOrdered() .csvBaselineFile("testframework/small_test_data.tsv") .baselineColumns("employee_id", "first_name", "last_name") .unOrdered() .csvBaselineFile("testframework/small_test_data.tsv") .baselineColumns("employee_id", "first_name", "last_name") .baselineTypes(typeMap) .build().run();
.unOrdered() .csvBaselineFile("testframework/decimal_test.tsv") .baselineTypes(MajorType.newBuilder().setMinorType(MinorType.DECIMAL).setMode(DataMode.REQUIRED).setPrecision(32).setScale(2).build()) .baselineColumns("dec_col") .build().run();
.unOrdered() .csvBaselineFile("testframework/unionDistinct/testAggregationOnUnionDistinctOperator_1.tsv") .baselineTypes(MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT) .baselineColumns("calc1", "max", "min", "count") .build() .run(); .unOrdered() .csvBaselineFile("testframework/unionDistinct/testAggregationOnUnionDistinctOperator_2.tsv") .baselineTypes(MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT) .baselineColumns("calc1", "min", "max", "count") .build() .run();
.unOrdered() .csvBaselineFile("testframework/unionDistinct/q11.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.INT) .baselineColumns("n_name", "n_nationkey") .build() .run(); .unOrdered() .csvBaselineFile("testframework/unionDistinct/q12.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.INT) .baselineColumns("r_name", "r_regionkey") .build() .run();
.unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/testProjectFiltertPushDownOverUnionAll.tsv") .baselineTypes(MinorType.INT) .baselineColumns("n_nationkey") .build() .run();
.ordered() .csvBaselineFile("testframework/testExampleQueries/testConcatOperator.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR) .baselineColumns("CONCAT", "n_nationkey", "PLUS", "n_name") .build().run(); .ordered() .csvBaselineFile("testframework/testExampleQueries/testConcatOperatorInputTypeCombination.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("CONCAT") .build().run(); .ordered() .csvBaselineFile("testframework/testExampleQueries/testConcatOperatorInputTypeCombination.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("CONCAT") .build().run(); .ordered() .csvBaselineFile("testframework/testExampleQueries/testConcatOperatorInputTypeCombination.tsv") .baselineTypes(MinorType.VARCHAR) .baselineColumns("CONCAT") .build().run();
.unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/q11.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.INT) .baselineColumns("n_name", "n_nationkey") .build().run(); .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/q12.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.INT) .baselineColumns("r_name", "r_regionkey") .build().run(); } finally {
@Test // see DRILL-1977, DRILL-2376, DRILL-2377, DRILL-2378, DRILL-2379 public void testAggregationOnUnionAllOperator() throws Exception { String root = FileUtils.getResourceAsFile("/store/text/data/t.json").toURI().toString(); String query1 = String.format( "(select calc1, max(b1) as \"max\", min(b1) as \"min\", count(c1) as \"count\" " + "from (select a1 + 10 as calc1, b1, c1 from dfs_test.\"%s\" " + "union all " + "select a1 + 100 as diff1, b1 as diff2, c1 as diff3 from dfs_test.\"%s\") " + "group by calc1 order by calc1)", root, root); String query2 = String.format( "(select calc1, min(b1) as \"min\", max(b1) as \"max\", count(c1) as \"count\" " + "from (select a1 + 10 as calc1, b1, c1 from dfs_test.\"%s\" " + "union all " + "select a1 + 100 as diff1, b1 as diff2, c1 as diff3 from dfs_test.\"%s\") " + "group by calc1 order by calc1)", root, root); testBuilder() .sqlQuery(query1) .ordered() .csvBaselineFile("testframework/testExampleQueries/testAggregationOnUnionAllOperator/q1.tsv") .baselineTypes(MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT) .baselineColumns("calc1", "max", "min", "count") .build().run(); testBuilder() .sqlQuery(query2) .ordered() .csvBaselineFile("testframework/testExampleQueries/testAggregationOnUnionAllOperator/q2.tsv") .baselineTypes(MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT, MinorType.BIGINT) .baselineColumns("calc1", "min", "max", "count") .build().run(); }
@Test //DRILL-2953 public void testGbAndObDifferentExp() throws Exception { String root = FileUtils.getResourceAsFile("/store/text/data/nations.csv").toURI().getPath().toString(); String query = String.format( "select cast(columns[0] as int) as nation_key " + " from dfs.\"%s\" " + " group by columns[0] " + " order by cast(columns[0] as int)", root); testBuilder() .sqlQuery(query) .ordered() .csvBaselineFile("testframework/testExampleQueries/testGroupByStarSchemaless.tsv") .baselineTypes(MinorType.INT) .baselineColumns("nation_key") .build() .run(); String query2 = String.format( "select cast(columns[0] as int) as nation_key " + " from dfs.\"%s\" " + " group by cast(columns[0] as int) " + " order by cast(columns[0] as int)", root); testBuilder() .sqlQuery(query2) .ordered() .csvBaselineFile("testframework/testExampleQueries/testGroupByStarSchemaless.tsv") .baselineTypes(MinorType.INT) .baselineColumns("nation_key") .build() .run(); }
@Ignore("DX-4180") @Test // see DRILL-3130 public void testProjectDownOverUnionAllImplicitCasting() throws Exception { String root = FileUtils.getResourceAsFile("/store/text/data/nations.csv").toURI().toString(); String query = String.format("select 2 * n_nationkey as col from \n" + "(select n_nationkey, n_name, n_comment from cp.\"tpch/nation.parquet\" \n" + "union all select columns[0], columns[1], columns[2] from dfs.\"%s\") \n" + "order by col limit 10", root); // Validate the plan final String[] expectedPlan = {"UnionAll.*\n." + ".*Project.*\n" + ".*Scan.*columns=\\[`n_nationkey`, `n_name`, `n_comment`\\].*\n" + ".*Project.*\n" + ".*Scan.*columns=\\[`columns`\\[0\\], `columns`\\[1\\], `columns`\\[2\\]\\]"}; final String[] excludedPlan = {}; PlanTestBase.testPlanMatchingPatterns(query, expectedPlan, excludedPlan); // Validate the result testBuilder() .sqlQuery(query) .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/testProjectDownOverUnionAllImplicitCasting.tsv") .baselineTypes(MinorType.INT) .baselineColumns("col") .build() .run(); }
@Test @Ignore("changing schema") public void testDiffDataTypesAndModes() throws Exception { test("use dfs_test.tmp"); test("create view nation_view_testunion as select n_name, n_nationkey from cp.\"tpch/nation.parquet\";"); test("create view region_view_testunion as select r_name, r_regionkey from cp.\"tpch/region.parquet\";"); String t1 = "(select n_comment, n_regionkey from cp.\"tpch/nation.parquet\" limit 5)"; String t2 = "(select * from nation_view_testunion limit 5)"; String t3 = "(select full_name, store_id from cp.\"employee.json\" limit 5)"; String t4 = "(select * from region_view_testunion limit 5)"; String query1 = t1 + " union " + t2 + " union " + t3 + " union " + t4; try { testBuilder() .sqlQuery(query1) .unOrdered() .csvBaselineFile("testframework/unionDistinct/q13.tsv") .baselineTypes(MinorType.VARCHAR, MinorType.BIGINT) .baselineColumns("n_comment", "n_regionkey") .build() .run(); } finally { test("drop view nation_view_testunion"); test("drop view region_view_testunion"); } }
@Test // see DRILL-3130 public void testProjectPushDownOverUnionAllWithProject() throws Exception { String query = "select n_nationkey, n_name from \n" + "(select n_nationkey, n_name from cp.\"tpch/nation.parquet\" \n" + "union all select r_regionkey, r_name from cp.\"tpch/region.parquet\")"; // Validate the plan final String[] expectedPlan = {"Project\\(n_nationkey=\\[\\$0\\], n_name=\\[\\$1\\]\\).*\n" + ".*UnionAll.*\n" + ".*Project.*\n" + ".*Scan.*columns=\\[`n_nationkey`, `n_name`\\].*\n" + ".*Project.*\n" + ".*Scan.*columns=\\[`r_regionkey`, `r_name`\\].*" }; final String[] excludedPlan = {}; PlanTestBase.testPlanMatchingPatterns(query, expectedPlan, excludedPlan); testBuilder() .sqlQuery(query) .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/testProjectPushDownOverUnionAllWithProject.tsv") .baselineTypes(MinorType.INT, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_name") .build() .run(); }
@Test public void testUnionDistinctEmptySides() throws Exception { String query1 = "(select n_nationkey, n_regionkey, n_name from cp.\"tpch/nation.parquet\" limit 0) \n" + "union \n" + "(select 1, n_regionkey, 'abc' from cp.\"tpch/nation.parquet\" limit 5)"; String query2 = "(select n_nationkey, n_regionkey, n_name from cp.\"tpch/nation.parquet\" limit 5) \n" + "union \n" + "(select 1, n_regionkey, 'abc' from cp.\"tpch/nation.parquet\" limit 0)"; testBuilder() .sqlQuery(query1) .unOrdered() .csvBaselineFile("testframework/unionDistinct/q16.tsv") .baselineTypes(MinorType.INT, MinorType.INT, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_regionkey", "n_name") .build() .run(); testBuilder() .sqlQuery(query2) .unOrdered() .csvBaselineFile("testframework/unionDistinct/q17.tsv") .baselineTypes(MinorType.INT, MinorType.INT, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_regionkey", "n_name") .build() .run(); }
@Test // see DRILL-2207 public void testUnionAllEmptySides() throws Exception { String query1 = "(select n_nationkey, n_regionkey, n_name from cp.\"tpch/nation.parquet\" limit 0) " + "union all " + "(select 1, n_regionkey, 'abc' from cp.\"tpch/nation.parquet\" limit 5)"; String query2 = "(select n_nationkey, n_regionkey, n_name from cp.\"tpch/nation.parquet\" limit 5) " + "union all " + "(select 1, n_regionkey, 'abc' from cp.\"tpch/nation.parquet\" limit 0)"; testBuilder() .sqlQuery(query1) .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/q16.tsv") .baselineTypes(MinorType.INT, MinorType.INT, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_regionkey", "n_name") .build().run(); testBuilder() .sqlQuery(query2) .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/q17.tsv") .baselineTypes(MinorType.INT, MinorType.INT, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_regionkey", "n_name") .build().run(); }
@Test // see DRILL-3130 public void testProjectPushDownOverUnionAllWithoutProject() throws Exception { String query = "select n_nationkey from \n" + "(select n_nationkey, n_comment from cp.\"tpch/nation.parquet\" \n" + "union all select r_regionkey, r_comment from cp.\"tpch/region.parquet\")"; // Validate the plan final String[] expectedPlan = {"Project\\(n_nationkey=\\[\\$0\\]\\).*\n" + ".*UnionAll.*\n" + ".*Scan.*columns=\\[`n_nationkey`\\].*\n" + ".*Scan.*columns=\\[`r_regionkey`\\].*"}; final String[] excludedPlan = {}; PlanTestBase.testPlanMatchingPatterns(query, expectedPlan, excludedPlan); // Validate the result testBuilder() .sqlQuery(query) .unOrdered() .csvBaselineFile("testframework/testUnionAllQueries/testProjectPushDownOverUnionAllWithoutProject.tsv") .baselineTypes(MinorType.INT) .baselineColumns("n_nationkey") .build() .run(); }