/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.facebook.presto.hive; import com.facebook.presto.testing.MaterializedResult; import com.facebook.presto.tests.AbstractTestDistributedQueries; import org.testng.annotations.Test; import static com.facebook.presto.hive.HiveQueryRunner.createQueryRunner; import static com.facebook.presto.spi.type.CharType.createCharType; import static com.facebook.presto.testing.MaterializedResult.resultBuilder; import static com.facebook.presto.testing.assertions.Assert.assertEquals; import static io.airlift.tpch.TpchTable.getTables; public class TestHiveDistributedQueries extends AbstractTestDistributedQueries { public TestHiveDistributedQueries() throws Exception { super(() -> createQueryRunner(getTables())); } @Override public void testDelete() { // Hive connector currently does not support row-by-row delete } @Test public void testOrderByChar() throws Exception { assertUpdate("CREATE TABLE char_order_by (c_char char(2))"); assertUpdate("INSERT INTO char_order_by (c_char) VALUES" + "(CAST('a' as CHAR(2)))," + "(CAST('a\0' as CHAR(2)))," + "(CAST('a ' as CHAR(2)))", 3); MaterializedResult actual = computeActual(getSession(), "SELECT * FROM char_order_by ORDER BY c_char ASC"); assertUpdate("DROP TABLE char_order_by"); MaterializedResult expected = resultBuilder(getSession(), createCharType(2)) .row("a\0") .row("a ") .row("a ") .build(); assertEquals(actual, expected); } }