[remove](function) make execute_impl const and remove running_difference function (#24935)

This commit is contained in:
Mryange
2023-09-27 18:17:28 +08:00
committed by GitHub
parent 100d76510c
commit 5d138b6928
113 changed files with 314 additions and 761 deletions

View File

@ -206,16 +206,15 @@ public:
}
Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) override {
size_t result, size_t input_rows_count) const override {
if (std::is_same_v<Impl, BitmapAndCount> || std::is_same_v<Impl, BitmapXorCount>) {
return execute_bitmap_op_count_null_to_zero(
context, block, arguments, result, input_rows_count,
std::bind((Status(FunctionBitMapVariadic<Impl>::*)(FunctionContext*, Block&,
const ColumnNumbers&, size_t,
size_t)) &
FunctionBitMapVariadic::execute_impl_internal,
this, std::placeholders::_1, std::placeholders::_2,
std::placeholders::_3, std::placeholders::_4, std::placeholders::_5));
auto impl_func = [&](FunctionContext* context, Block& block,
const ColumnNumbers& arguments, size_t result,
size_t input_rows_count) {
return execute_impl_internal(context, block, arguments, result, input_rows_count);
};
return execute_bitmap_op_count_null_to_zero(context, block, arguments, result,
input_rows_count, impl_func);
} else {
return execute_impl_internal(context, block, arguments, result, input_rows_count);
}
@ -223,7 +222,7 @@ public:
Status execute_impl_internal(FunctionContext* context, Block& block,
const ColumnNumbers& arguments, size_t result,
size_t input_rows_count) {
size_t input_rows_count) const {
size_t argument_size = arguments.size();
ColumnPtr argument_columns[argument_size];