|
27 | 27 | #include "arrow/array/array_nested.h" |
28 | 28 | #include "arrow/c/abi.h" |
29 | 29 | #include "arrow/c/bridge.h" |
30 | | -#include "arrow/chunked_array.h" |
31 | 30 | #include "arrow/ipc/json_simple.h" |
32 | | -#include "arrow/vendored/datetime/tz.h" |
33 | 31 | #include "gtest/gtest.h" |
34 | 32 | #include "orc/OrcFile.hh" |
35 | 33 | #include "paimon/common/utils/date_time_utils.h" |
@@ -63,6 +61,14 @@ class ComplexPredicateTest : public ::testing::Test { |
63 | 61 | void SetUp() override { |
64 | 62 | pool_ = GetDefaultPool(); |
65 | 63 | batch_size_ = 10; |
| 64 | + |
| 65 | + arrow::FieldVector fields = { |
| 66 | + arrow::field("f1", arrow::int32()), |
| 67 | + arrow::field("f2", arrow::int32()), |
| 68 | + arrow::field("f3", arrow::date32()), |
| 69 | + arrow::field("f4", arrow::timestamp(arrow::TimeUnit::NANO)), |
| 70 | + arrow::field("f5", arrow::decimal128(23, 5)), |
| 71 | + }; |
66 | 72 | } |
67 | 73 | void TearDown() override {} |
68 | 74 |
|
@@ -125,34 +131,16 @@ TEST_F(ComplexPredicateTest, TestSimple) { |
125 | 131 | arrow::field("f5", arrow::decimal128(23, 5)), |
126 | 132 | }; |
127 | 133 | auto read_schema = arrow::schema(fields); |
128 | | - std::shared_ptr<arrow::StructArray> expected_array; |
129 | | - if (arrow_vendored::date::current_zone()->name() == "Asia/Shanghai" || |
130 | | - arrow_vendored::date::current_zone()->name() == "PRC") { |
131 | | - // refer: https://github.com/eggert/tz/blob/main/asia#L653 |
132 | | - // When using the Asia/Shanghai timezone, timestamps prior to 1901 have an additional offset |
133 | | - // of 5 minutes and 43 seconds |
134 | | - expected_array = std::dynamic_pointer_cast<arrow::StructArray>( |
135 | | - arrow::ipc::internal::json::ArrayFromJSON(arrow::struct_({fields}), R"([ |
136 | | - [10, 1, 1234, "2033-05-18 03:33:20.0", "123456789987654321.45678"], |
137 | | - [10, 1, 19909, "2033-05-18 03:33:20.000001001", "12.30000"], |
138 | | - [10, 1, 0, "2008-12-28 00:00:00.000123456", null], |
139 | | - [10, 1, 100, "2008-12-28 00:00:00.00012345", "-123.45000"], |
140 | | - [10, 1, null, "1899-01-01 01:05:03.001001001", "0.00000"], |
141 | | - [10, 1, 20006, "2024-10-10 10:10:10.100100100", "1728551410100.10010"] |
142 | | - ])") |
143 | | - .ValueOrDie()); |
144 | | - } else { |
145 | | - expected_array = std::dynamic_pointer_cast<arrow::StructArray>( |
146 | | - arrow::ipc::internal::json::ArrayFromJSON(arrow::struct_({fields}), R"([ |
147 | | - [10, 1, 1234, "2033-05-18 03:33:20.0", "123456789987654321.45678"], |
148 | | - [10, 1, 19909, "2033-05-18 03:33:20.000001001", "12.30000"], |
149 | | - [10, 1, 0, "2008-12-28 00:00:00.000123456", null], |
150 | | - [10, 1, 100, "2008-12-28 00:00:00.00012345", "-123.45000"], |
151 | | - [10, 1, null, "1899-01-01 00:59:20.001001001", "0.00000"], |
152 | | - [10, 1, 20006, "2024-10-10 10:10:10.100100100", "1728551410100.10010"] |
153 | | - ])") |
154 | | - .ValueOrDie()); |
155 | | - } |
| 134 | + auto expected_array = std::dynamic_pointer_cast<arrow::StructArray>( |
| 135 | + arrow::ipc::internal::json::ArrayFromJSON(arrow::struct_({fields}), R"([ |
| 136 | + [10, 1, 1234, "2033-05-18 03:33:20.0", "123456789987654321.45678"], |
| 137 | + [10, 1, 19909, "2033-05-18 03:33:20.000001001", "12.30000"], |
| 138 | + [10, 1, 0, "2008-12-28 00:00:00.000123456", null], |
| 139 | + [10, 1, 100, "2008-12-28 00:00:00.00012345", "-123.45000"], |
| 140 | + [10, 1, null, "1899-01-01 00:59:20.001001001", "0.00000"], |
| 141 | + [10, 1, 20006, "2024-10-10 10:10:10.100100100", "1728551410100.10010"] |
| 142 | + ])") |
| 143 | + .ValueOrDie()); |
156 | 144 |
|
157 | 145 | // date |
158 | 146 | { |
|
0 commit comments