| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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 org.apache.drill; |
| |
| import org.apache.drill.categories.OperatorTest; |
| import org.apache.drill.categories.SqlTest; |
| import org.apache.drill.test.BaseTestQuery; |
| import org.junit.BeforeClass; |
| import org.junit.Test; |
| import org.junit.experimental.categories.Category; |
| |
| import java.nio.file.Paths; |
| |
| @Category({SqlTest.class, OperatorTest.class}) |
| public class TestAltSortQueries extends BaseTestQuery { |
| @BeforeClass |
| public static void setupTestFiles() { |
| dirTestWatcher.copyFileToRoot(Paths.get("sample-data", "region.parquet")); |
| dirTestWatcher.copyFileToRoot(Paths.get("sample-data", "regionsSF")); |
| dirTestWatcher.copyFileToRoot(Paths.get("sample-data", "nation.parquet")); |
| } |
| |
| @Test |
| public void testOrderBy() throws Exception{ |
| test("select R_REGIONKEY " + |
| "from dfs.`sample-data/region.parquet` " + |
| "order by R_REGIONKEY"); |
| } |
| |
| @Test |
| public void testOrderBySingleFile() throws Exception{ |
| test("select R_REGIONKEY " + |
| "from dfs.`sample-data/regionsSF/` " + |
| "order by R_REGIONKEY"); |
| } |
| |
| @Test |
| public void testSelectWithLimit() throws Exception{ |
| test("select employee_id, first_name, last_name from cp.`employee.json` order by employee_id limit 5 "); |
| } |
| |
| // TODO - This is currently passing but I think that it is still in error, |
| // the new verification for this test was written against the output that was previously not being checked |
| // It looks like there is an off by one error in the results, see the baseline file for the current results |
| @Test |
| public void testSelectWithLimitOffset() throws Exception{ |
| testBuilder() |
| .sqlQuery("select employee_id, first_name, last_name from cp.`employee.json` order by employee_id limit 5 offset 10 ") |
| .ordered() |
| .csvBaselineFile("sort/testSelectWithLimitOffset.tsv") |
| .baselineColumns("employee_id", "first_name", "last_name") |
| .build().run(); |
| } |
| |
| @Test |
| public void testJoinWithLimit() throws Exception{ |
| test("SELECT\n" + |
| " nations.N_NAME,\n" + |
| " regions.R_NAME\n" + |
| "FROM\n" + |
| " dfs.`sample-data/nation.parquet` nations\n" + |
| "JOIN\n" + |
| " dfs.`sample-data/region.parquet` regions\n" + |
| " on nations.N_REGIONKEY = regions.R_REGIONKEY" + |
| " order by regions.R_NAME, nations.N_NAME " + |
| " limit 5"); |
| } |
| } |