diff --git a/be/src/exprs/create_predicate_function.h b/be/src/exprs/create_predicate_function.h index a96565b55db3fe..596608e9e825b5 100644 --- a/be/src/exprs/create_predicate_function.h +++ b/be/src/exprs/create_predicate_function.h @@ -233,7 +233,8 @@ ColumnPredicate* create_olap_column_predicate(uint32_t column_id, std::shared_ptr filter_olap; filter_olap.reset(create_bloom_filter(PT)); filter_olap->light_copy(filter.get()); - return new BloomFilterColumnPredicate(column_id, filter, be_exec_version); + // create a new filter to match the input filter and PT. For example, filter may be varchar, but PT is char + return new BloomFilterColumnPredicate(column_id, filter_olap, be_exec_version); } template