blob: 3e0d8870b167a34a09df80b8a5ef7a71a27d5812 [file] [log] [blame]
/*
* 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");
}
}