diff --git a/velox/dwio/dwrf/test/E2EFilterTest.cpp b/velox/dwio/dwrf/test/E2EFilterTest.cpp index c3790c8556fb..6a56da80e891 100644 --- a/velox/dwio/dwrf/test/E2EFilterTest.cpp +++ b/velox/dwio/dwrf/test/E2EFilterTest.cpp @@ -288,7 +288,7 @@ DEBUG_ONLY_TEST_F(E2EFilterTest, longDecimal) { 30000, // rareMax true); }, - true, + false, {"longdecimal_val"}, 20); } diff --git a/velox/exec/tests/CMakeLists.txt b/velox/exec/tests/CMakeLists.txt index 947f7f22a6de..572ba537c10f 100644 --- a/velox/exec/tests/CMakeLists.txt +++ b/velox/exec/tests/CMakeLists.txt @@ -129,7 +129,6 @@ target_link_libraries( velox_aggregates velox_dwio_common velox_dwio_common_exception - velox_dwio_orc_reader velox_dwio_common_test_utils velox_dwio_parquet_reader velox_dwio_parquet_writer diff --git a/velox/exec/tests/TableScanTest.cpp b/velox/exec/tests/TableScanTest.cpp index d4d963506838..92e65abe8e70 100644 --- a/velox/exec/tests/TableScanTest.cpp +++ b/velox/exec/tests/TableScanTest.cpp @@ -34,7 +34,6 @@ #include "velox/connectors/hive/HivePartitionFunction.h" #include "velox/dwio/common/CacheInputStream.h" #include "velox/dwio/common/tests/utils/DataFiles.h" -#include "velox/dwio/orc/reader/OrcReader.h" #include "velox/exec/Cursor.h" #include "velox/exec/Exchange.h" #include "velox/exec/OutputBufferManager.h" @@ -46,7 +45,6 @@ #include "velox/exec/tests/utils/PlanBuilder.h" #include "velox/exec/tests/utils/TempDirectoryPath.h" #include "velox/expression/ExprToSubfieldFilter.h" -#include "velox/functions/lib/IsNull.h" #include "velox/type/Timestamp.h" #include "velox/type/Type.h" #include "velox/type/tests/SubfieldFiltersBuilder.h" @@ -80,7 +78,6 @@ class TableScanTest : public virtual HiveConnectorTestBase { HiveConnectorTestBase::SetUp(); exec::ExchangeSource::factories().clear(); exec::ExchangeSource::registerFactory(createLocalExchangeSource); - orc::registerOrcReaderFactory(); } static void SetUpTestCase() { @@ -1858,124 +1855,6 @@ TEST_F(TableScanTest, validFileNoData) { assertQuery(op, split, ""); } -TEST_F(TableScanTest, shortDecimalFilter) { - functions::registerIsNotNullFunction("isnotnull"); - - std::vector> values = { - 123456789123456789L, - 987654321123456L, - std::nullopt, - 2000000000000000L, - 5000000000000000L, - 987654321987654321L, - 100000000000000L, - 1230000000123456L, - 120000000123456L, - std::nullopt}; - auto rowVector = makeRowVector({ - makeNullableFlatVector(values, DECIMAL(18, 6)), - }); - createDuckDbTable({rowVector}); - - auto filePath = facebook::velox::test::getDataFilePath( - "velox/exec/tests", "data/short_decimal.orc"); - auto split = exec::test::HiveConnectorSplitBuilder(filePath) - .start(0) - .length(fs::file_size(filePath)) - .fileFormat(dwio::common::FileFormat::ORC) - .build(); - - auto rowType = ROW({"d"}, {DECIMAL(18, 6)}); - - // Is not null. - auto op = - PlanBuilder().tableScan(rowType, {}, "isnotnull(d)", rowType).planNode(); - assertQuery(op, split, "SELECT c0 FROM tmp where c0 is not null"); - - // Is null. - op = PlanBuilder().tableScan(rowType, {}, "is_null(d)", rowType).planNode(); - assertQuery(op, split, "SELECT c0 FROM tmp where c0 is null"); - - // BigintRange. - op = - PlanBuilder() - .tableScan( - rowType, - {}, - "d > 2000000000.0::DECIMAL(18, 6) and d < 6000000000.0::DECIMAL(18, 6)", - rowType) - .planNode(); - assertQuery( - op, - split, - "SELECT c0 FROM tmp where c0 > 2000000000.0 and c0 < 6000000000.0"); - - // NegatedBigintRange. - op = - PlanBuilder() - .tableScan( - rowType, - {}, - "not(d between 2000000000.0::DECIMAL(18, 6) and 6000000000.0::DECIMAL(18, 6))", - rowType) - .planNode(); - assertQuery( - op, - split, - "SELECT c0 FROM tmp where c0 < 2000000000.0 or c0 > 6000000000.0"); -} - -TEST_F(TableScanTest, longDecimalFilter) { - functions::registerIsNotNullFunction("isnotnull"); - - std::vector> values = { - HugeInt::parse("123456789123456789123456789" + std::string(9, '0')), - HugeInt::parse("987654321123456789" + std::string(9, '0')), - std::nullopt, - HugeInt::parse("2" + std::string(37, '0')), - HugeInt::parse("5" + std::string(37, '0')), - HugeInt::parse("987654321987654321987654321" + std::string(9, '0')), - HugeInt::parse("1" + std::string(26, '0')), - HugeInt::parse("123000000012345678" + std::string(10, '0')), - HugeInt::parse("120000000123456789" + std::string(9, '0')), - HugeInt::parse("9" + std::string(37, '0'))}; - auto rowVector = makeRowVector({ - makeNullableFlatVector(values, DECIMAL(38, 18)), - }); - createDuckDbTable({rowVector}); - - auto filePath = facebook::velox::test::getDataFilePath( - "velox/exec/tests", "data/long_decimal.orc"); - auto split = exec::test::HiveConnectorSplitBuilder(filePath) - .start(0) - .length(fs::file_size(filePath)) - .fileFormat(dwio::common::FileFormat::ORC) - .build(); - - auto rowType = ROW({"d"}, {DECIMAL(38, 18)}); - auto op = - PlanBuilder().tableScan(rowType, {}, "isnotnull(d)", rowType).planNode(); - assertQuery(op, split, "SELECT c0 FROM tmp where c0 is not null"); - - // Is null. - op = PlanBuilder().tableScan(rowType, {}, "is_null(d)", rowType).planNode(); - assertQuery(op, split, "SELECT c0 FROM tmp where c0 is null"); - - // HugeintRange. - op = - PlanBuilder() - .tableScan( - rowType, - {}, - "d > 2000000000.0::DECIMAL(38, 18) and d < 6000000000.0::DECIMAL(38, 18)", - rowType) - .planNode(); - assertQuery( - op, - split, - "SELECT c0 FROM tmp where c0 > 2000000000.0 and c0 < 6000000000.0"); -} - // An invalid (size = 0) file. TEST_F(TableScanTest, emptyFile) { auto filePath = TempFilePath::create(); diff --git a/velox/exec/tests/data/long_decimal.orc b/velox/exec/tests/data/long_decimal.orc deleted file mode 100644 index f732246b469a..000000000000 Binary files a/velox/exec/tests/data/long_decimal.orc and /dev/null differ diff --git a/velox/exec/tests/data/short_decimal.orc b/velox/exec/tests/data/short_decimal.orc deleted file mode 100644 index d442711fc750..000000000000 Binary files a/velox/exec/tests/data/short_decimal.orc and /dev/null differ