public void execute(QueryRunner prestoExecutor, Session session, DataSetup dataSetup) { List<Type> expectedTypes = inputs.stream().map(Input::getPrestoResultType).collect(toList()); List<Object> expectedResults = inputs.stream().map(Input::toPrestoQueryResult).collect(toList()); try (TestTable testTable = dataSetup.setupTestTable(unmodifiableList(inputs))) { MaterializedResult materializedRows = prestoExecutor.execute(session, "SELECT * from " + testTable.getName()); assertEquals(materializedRows.getTypes(), expectedTypes); List<Object> actualResults = getOnlyElement(materializedRows).getFields(); assertEquals(actualResults.size(), expectedResults.size(), "lists don't have the same size"); for (int i = 0; i < expectedResults.size(); i++) { assertEquals(actualResults.get(i), expectedResults.get(i), "Element " + i); } } }
@Test public void testMySqlTinyint1() throws Exception { execute("CREATE TABLE tpch.mysql_test_tinyint1 (c_tinyint tinyint(1))"); MaterializedResult actual = computeActual("SHOW COLUMNS FROM mysql_test_tinyint1"); MaterializedResult expected = MaterializedResult.resultBuilder(getSession(), VARCHAR, VARCHAR, VARCHAR, VARCHAR) .row("c_tinyint", "tinyint", "", "") .build(); assertEquals(actual, expected); execute("INSERT INTO tpch.mysql_test_tinyint1 VALUES (127), (-128)"); MaterializedResult materializedRows = computeActual("SELECT * FROM tpch.mysql_test_tinyint1 WHERE c_tinyint = 127"); assertEquals(materializedRows.getRowCount(), 1); MaterializedRow row = getOnlyElement(materializedRows); assertEquals(row.getFields().size(), 1); assertEquals(row.getField(0), (byte) 127); assertUpdate("DROP TABLE mysql_test_tinyint1"); }
public void execute(QueryRunner prestoExecutor, Session session, DataSetup dataSetup) { List<Type> expectedTypes = inputs.stream().map(Input::getPrestoResultType).collect(toList()); List<Object> expectedResults = inputs.stream().map(Input::toPrestoQueryResult).collect(toList()); try (TestTable testTable = dataSetup.setupTestTable(unmodifiableList(inputs))) { MaterializedResult materializedRows = prestoExecutor.execute(session, "SELECT * from " + testTable.getName()); assertEquals(materializedRows.getTypes(), expectedTypes); List<Object> actualResults = getOnlyElement(materializedRows).getFields(); assertEquals(actualResults.size(), expectedResults.size(), "lists don't have the same size"); for (int i = 0; i < expectedResults.size(); i++) { assertEquals(actualResults.get(i), expectedResults.get(i), "Element " + i); } } }
@Test public void testMySqlTinyint1() throws Exception { execute("CREATE TABLE tpch.mysql_test_tinyint1 (c_tinyint tinyint(1))"); MaterializedResult actual = computeActual("SHOW COLUMNS FROM mysql_test_tinyint1"); MaterializedResult expected = MaterializedResult.resultBuilder(getSession(), VARCHAR, VARCHAR, VARCHAR, VARCHAR) .row("c_tinyint", "tinyint", "", "") .build(); assertEquals(actual, expected); execute("INSERT INTO tpch.mysql_test_tinyint1 VALUES (127), (-128)"); MaterializedResult materializedRows = computeActual("SELECT * FROM tpch.mysql_test_tinyint1 WHERE c_tinyint = 127"); assertEquals(materializedRows.getRowCount(), 1); MaterializedRow row = getOnlyElement(materializedRows); assertEquals(row.getFields().size(), 1); assertEquals(row.getField(0), (byte) 127); assertUpdate("DROP TABLE mysql_test_tinyint1"); }
.map(row -> new MaterializedRow(row.getPrecision(), newArrayList(concat(row.getFields(), ImmutableList.of("2015-07-0" + row.getField(0)))))) .collect(toList()), ImmutableList.<Type>builder()