@Test(expected = UserException.class) public void testUnionDistinctImplicitCastingFailure() throws Exception { String rootInt = FileUtils.getResourceAsFile("/store/json/intData.json").toURI().toString(); String rootBoolean = FileUtils.getResourceAsFile("/store/json/booleanData.json").toURI().toString(); String query = String.format( "(select key from dfs_test.\"%s\" \n" + "union \n" + "select key from dfs_test.\"%s\" )", rootInt, rootBoolean); test(query); }
@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 // DRILL-4147 // union-distinct base case public void testDrill4147_1() throws Exception { final String l = FileUtils.getResourceAsFile("/multilevel/parquet/1994").toURI().toString(); final String r = FileUtils.getResourceAsFile("/multilevel/parquet/1995").toURI().toString(); final String query = String.format("SELECT o_custkey FROM dfs_test.\"%s\" \n" + "Union distinct SELECT o_custkey FROM dfs_test.\"%s\"", l, r); // Validate the plan final String[] expectedPlan = {"(?s)UnionExchange.*HashAgg.*HashToRandomExchange.*UnionAll.*"}; final String[] excludedPlan = {}; try { test(sliceTargetSmall); PlanTestBase.testPlanMatchingPatterns(query, expectedPlan, excludedPlan); testBuilder() .optionSettingQueriesForTestQuery(sliceTargetSmall) .optionSettingQueriesForBaseline(sliceTargetDefault) .unOrdered() .sqlQuery(query) .sqlBaselineQuery(query) .build() .run(); } finally { test(sliceTargetDefault); } }
@Test(expected = UnsupportedRelOperatorException.class) @Ignore public void testUnionDistinctViewUnExpandableStar() throws Exception { test("use dfs_test.tmp"); test("create view nation_view_testunion as select * from cp.\"tpch/nation.parquet\";"); try { String query = "(select * from dfs_test.tmp.\"nation_view_testunion\") \n" + "union (select * from cp.\"tpch/region.parquet\")"; test(query); } catch(UserException ex) { SqlUnsupportedException.errorClassNameToException(ex.getOrCreatePBError(false).getException().getExceptionClass()); throw ex; } finally { test("drop view nation_view_testunion"); } }
@Test public void testUnionDistinctViewExpandableStar() throws Exception { test("use dfs_test"); 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\";"); .run(); } finally { test("drop view nation_view_testunion"); test("drop view region_view_testunion");