[Bug](function) fix function in get wrong result when input const column (#19791)

fix function in get wrong result when input const column
This commit is contained in:
Pxl
2023-05-22 10:58:29 +08:00
committed by GitHub
parent f57b6adba9
commit d64be9565d
66 changed files with 135 additions and 221 deletions

View File

@ -305,8 +305,6 @@ public:
bool use_default_implementation_for_nulls() const override { return true; }
bool use_default_implementation_for_constants() const override { return true; }
Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) override {
auto res_null_map = ColumnUInt8::create(input_rows_count, 0);
@ -445,8 +443,6 @@ public:
bool use_default_implementation_for_nulls() const override { return false; }
bool use_default_implementation_for_constants() const override { return true; }
Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) override {
auto res_data_column = ColumnInt64::create();
@ -693,8 +689,6 @@ public:
return return_nullable ? make_nullable(result_type) : result_type;
}
bool use_default_implementation_for_constants() const override { return true; }
bool use_default_implementation_for_nulls() const override {
// for bitmap_and_not_count, result is always not null, and if the bitmap op result is null,
// the count is 0
@ -1022,8 +1016,6 @@ public:
bool use_default_implementation_for_nulls() const override { return false; }
bool use_default_implementation_for_constants() const override { return true; }
Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) override {
DCHECK_EQ(arguments.size(), 3);
@ -1082,7 +1074,6 @@ public:
size_t get_number_of_arguments() const override { return 1; }
bool use_default_implementation_for_nulls() const override { return true; }
bool use_default_implementation_for_constants() const override { return true; }
Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
size_t result, size_t input_rows_count) override {