@Test public void secondElementInMap() throws Exception { String query = String.format("select t.\"marketing_info\".keywords as keywords from %s t", DATAFILE); String[] columns = {"keywords"}; testBuilder() .sqlQuery(query) .ordered() .jsonBaselineFile("store/parquet/complex/baseline3.json") .baselineColumns(columns) .build() .run(); }
@Test public void testSortWithComplexInput() throws Exception { testBuilder() .sqlQuery("select (t.a) as col from cp.\"jsoninput/repeatedmap_sort_bug.json\" t order by t.b") .ordered() .baselineColumns("col") .baselineValues(repeated_map) .go(); }
@Test public void selectMultiElements() throws Exception { String query = "select t.marketing_info.camp_id as camp_id, t.marketing_info.keywords as keywords from cp.\"store/parquet/complex/complex.parquet\" t"; testBuilder() .sqlQuery(query) .ordered() .jsonBaselineFile("store/parquet/complex/baseline7.json") .build() .run(); }
private void testWithResult(String query, Object... expectedResult) throws Exception { TestBuilder builder = testBuilder() .sqlQuery(query) .ordered() .baselineColumns("columns"); for (Object o : expectedResult) { builder = builder.baselineValues(o); } builder.build().run(); }
@Test public void testSelStarOrderByLimit() throws Exception{ testBuilder() .ordered() .sqlQuery(" select * from cp.\"employee.json\" order by last_name limit 2") .sqlBaselineQuery(" select employee_id, full_name,first_name,last_name,position_id,position_title,store_id," + " department_id,birth_date,hire_date,salary,supervisor_id,education_level,marital_status,gender,management_role " + " from cp.\"employee.json\" " + " order by last_name limit 2") .build().run(); }
@Test // DRILL-3739 public void readingFromStorageHandleBasedTable() throws Exception { testBuilder() .sqlQuery("SELECT * FROM hive.kv_sh ORDER BY key LIMIT 2") .ordered() .baselineColumns("key", "value") .expectsEmptyResultSet() .go(); }
@Test public void simpleSelect() throws Exception { DateTimeFormatter formatter = DateFunctionsUtils.getISOFormatterForFormatString("YYYY-MM-DD"); testBuilder() .sqlQuery(String.format("SELECT * FROM %s", viewName)) .ordered() .baselineColumns("employee_id", "full_name", "position_id", "department_id", "birth_date", "hire_date", "salary", "fsalary", "single", "education_level", "gender") .baselineValues(1, "Sheri Nowmer", 1, 1L, formatter.parseLocalDateTime("1961-08-26"), formatter.parseLocalDateTime("1994-12-01"), 80000.0D, 80000.0F, true, "Graduate Degree", "F") .go(); }
@Test public void stringLiteralComparison() throws Exception { String sql = "SELECT a = b as e FROM (VALUES('foo', 'foo'),('bar', 'bar ')) tbl(a, b)"; testBuilder() .sqlQuery(sql) .ordered() .baselineColumns("e") .baselineValues(true) .baselineValues(false) .go(); }
@Test // DRILL-3606 public void testFix3606() throws Exception { testBuilder() .sqlQuery(getFile("window/3606.sql"), TEST_RES_PATH) .ordered() .csvBaselineFile("window/3606.tsv") .baselineColumns("col2", "lead_col2") .build() .run(); }
@Test public void testLag() throws Exception { testBuilder() .sqlQuery(getFile("window/lag.oby.sql"), TEST_RES_PATH) .ordered() .csvBaselineFile("window/b4.p4.lag.oby.tsv") .baselineColumns("lag") .build() .run(); }
@Test public void testNtile() throws Exception { testBuilder() .sqlQuery(getFile("window/ntile.sql"), TEST_RES_PATH) .ordered() .csvBaselineFile("window/b2.p4.ntile.tsv") .baselineColumns("ntile") .build() .run(); }
@Test public void testCSVVerification() throws Exception { testBuilder() .sqlQuery("select employee_id, first_name, last_name from cp.\"testframework/small_test_data.json\"") .ordered() .csvBaselineFile("testframework/small_test_data.tsv") .baselineTypes(MinorType.BIGINT, MinorType.VARCHAR, MinorType.VARCHAR) .baselineColumns("employee_id", "first_name", "last_name") .build().run(); }
@Test public void testCountStar() throws Exception { final String file = AvroTestUtil.generateStringAndUtf8Data().getFilePath(); final String sql = "select count(*) as row_count from dfs_root.\"" + file + "\""; testBuilder() .sqlQuery(sql) .ordered() .baselineColumns("row_count") .baselineValues((long)AvroTestUtil.RECORD_COUNT) .go(); }
@Test // DRILL-3769 public void testToDateForTimeStamp() throws Exception { final String query = "select to_date(to_timestamp(-1)) as col \n" + "from (values(1))"; testBuilder() .sqlQuery(query) .ordered() .baselineColumns("col") .baselineValues(new LocalDateTime(1969, 12, 31, 0, 0)) .build() .run(); }
@Test // see DRILL-1825 @Ignore public void testSelStarWithAdditionalColumnLimit() throws Exception { testBuilder() .sqlQuery("select *, n_nationkey, *, n_name from cp.\"tpch/nation.parquet\" limit 2") .ordered() .csvBaselineFile("testframework/testStarQueries/testSelStarWithAdditionalColumnLimit/q1.tsv") .baselineTypes(MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.INT, MinorType.VARCHAR, MinorType.INT, MinorType.VARCHAR, MinorType.VARCHAR) .baselineColumns("n_nationkey", "n_name", "n_regionkey", "n_comment", "n_nationkey0", "n_nationkey1", "n_name0", "n_regionkey0", "n_comment0", "n_name1") .build().run(); }
@Test public void testDateMinusInterval() throws Exception { testBuilder() .sqlQuery("SELECT ({d '2017-01-13'} - CAST(CAST(a AS VARCHAR) AS INTERVAL DAY)) res1 FROM (VALUES('P1D'),('P2D')) t(a)") .ordered() .baselineColumns("res1") .baselineValues(newDateTime(1484179200000L)) .baselineValues(newDateTime(1484092800000L)) .go(); }
@Test // DRILL-5097 public void testInt96TimeStampValueWidth() throws Exception { testBuilder() .ordered() .sqlQuery("select c, d from cp.\"parquet/data.snappy.parquet\" where d = '2015-07-18 13:52:51'") .baselineColumns("c", "d") .baselineValues(DateFunctionsUtils.getISOFormatterForFormatString("YYYY-MM-DD").parseLocalDateTime("2011-04-11"), DateFunctionsUtils.getISOFormatterForFormatString("YYYY-MM-DD HH24:MI:SS").parseLocalDateTime("2015-07-18 13:52:51")) .build() .run(); }
@Test public void testRepeatedScalarEmptyInBetween() throws Exception { final String query = "select * from cp.\"vector/complex/repeated-scalar-empty-between.json\""; testBuilder() .sqlQuery(query) .ordered() .baselineColumns("a") .baselineValues(listOf(1L)) .baselineValues(listOf()) .baselineValues(listOf(2L)) .go(); }
@Test public void testRepeatedMapEmptyBetween() throws Exception { final String query = "select * from cp.\"vector/complex/repeated-map-empty-between.json\""; testBuilder() .sqlQuery(query) .ordered() .baselineColumns("a") .baselineValues(listOf(mapOf("b", 1L))) .baselineValues(listOf()) .baselineValues(listOf(mapOf("b", 2L))) .go(); }
@Test public void testMultiLevelRepeatedListEmptyFirst() throws Exception { final String query = "select * from cp.\"vector/complex/multi-repeated-list-empty-first.json\""; testBuilder() .sqlQuery(query) .ordered() .baselineColumns("a") .baselineValues(listOf()) .baselineValues(listOf(listOf(listOf(1L), listOf(3L)), listOf(listOf(5L, 7L)))) .baselineValues(listOf(listOf(listOf(2L), listOf(4L)))) .go(); }