diff --git a/be/src/vec/functions/function_datetime_floor_ceil.cpp b/be/src/vec/functions/function_datetime_floor_ceil.cpp index 4801c4aa53bb4c..bf74deaed1daeb 100644 --- a/be/src/vec/functions/function_datetime_floor_ceil.cpp +++ b/be/src/vec/functions/function_datetime_floor_ceil.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -293,7 +294,7 @@ struct FloorCeilImpl { PaddedPODArray& res, NullMap& null_map) { // time_round(datetime,const(period)) if (period < 1) { - null_map.resize_fill(dates.size(), true); + memset(null_map.data(), 1, sizeof(UInt8) * dates.size()); return; } for (int i = 0; i < dates.size(); ++i) { @@ -337,7 +338,7 @@ struct FloorCeilImpl { NativeType origin_date, PaddedPODArray& res, NullMap& null_map) { if (period < 1) { - null_map.resize_fill(dates.size(), true); + memset(null_map.data(), 1, sizeof(UInt8) * dates.size()); return; } switch (period) { @@ -424,7 +425,7 @@ struct FloorCeilImpl { const PaddedPODArray& origin_dates, PaddedPODArray& res, NullMap& null_map) { if (period < 1) { - null_map.resize_fill(dates.size(), true); + memset(null_map.data(), 1, sizeof(UInt8) * dates.size()); return; } for (int i = 0; i < dates.size(); ++i) { diff --git a/regression-test/data/correctness_p0/test_time_round.out b/regression-test/data/correctness_p0/test_time_round.out index face63a18a9168..41e268482ed730 100644 --- a/regression-test/data/correctness_p0/test_time_round.out +++ b/regression-test/data/correctness_p0/test_time_round.out @@ -123,3 +123,8 @@ 2020-02-02T11:45:14 2020-02-02T11:45:14 +-- !select_1 -- +2020-02-02T13:09:20 \N +2020-02-02T13:09:20 \N +2020-02-02T13:09:20 \N + diff --git a/regression-test/suites/correctness_p0/test_time_round.groovy b/regression-test/suites/correctness_p0/test_time_round.groovy index c042e0dd935888..4ab6a6f6473058 100644 --- a/regression-test/suites/correctness_p0/test_time_round.groovy +++ b/regression-test/suites/correctness_p0/test_time_round.groovy @@ -89,4 +89,5 @@ suite("test_time_round") { qt_select "select hour_floor(dt,2,o) from dbround order by id;" qt_select "select hour_floor(dt,p,'1919-08-10 11:45:14') from dbround order by id;" qt_select "select hour_floor(dt,2,'1919-08-10 11:45:14') from dbround order by id;" + qt_select_1 "select dt,hour_floor(dt,0) from dbround order by id;" }