[bug](bitmap) fix bitmap value copy operator not call reset (#26451)
when a empty bitmap assign to other bitmap the other bitmap should reset self firstly, and then set empty type.
This commit is contained in:
@ -578,7 +578,7 @@ struct BitmapAndNot {
|
||||
mid_data &= rvec[i];
|
||||
res[i] = lvec[i];
|
||||
res[i] -= mid_data;
|
||||
mid_data.clear();
|
||||
mid_data.reset();
|
||||
}
|
||||
}
|
||||
static void vector_scalar(const TData& lvec, const BitmapValue& rval, TData& res) {
|
||||
@ -589,7 +589,7 @@ struct BitmapAndNot {
|
||||
mid_data &= rval;
|
||||
res[i] = lvec[i];
|
||||
res[i] -= mid_data;
|
||||
mid_data.clear();
|
||||
mid_data.reset();
|
||||
}
|
||||
}
|
||||
static void scalar_vector(const BitmapValue& lval, const TData& rvec, TData& res) {
|
||||
@ -600,7 +600,7 @@ struct BitmapAndNot {
|
||||
mid_data &= rvec[i];
|
||||
res[i] = lval;
|
||||
res[i] -= mid_data;
|
||||
mid_data.clear();
|
||||
mid_data.reset();
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -624,7 +624,7 @@ struct BitmapAndNotCount {
|
||||
mid_data = lvec[i];
|
||||
mid_data &= rvec[i];
|
||||
res[i] = lvec[i].andnot_cardinality(mid_data);
|
||||
mid_data.clear();
|
||||
mid_data.reset();
|
||||
}
|
||||
}
|
||||
static void scalar_vector(const BitmapValue& lval, const TData& rvec, ResTData* res) {
|
||||
@ -634,7 +634,7 @@ struct BitmapAndNotCount {
|
||||
mid_data = lval;
|
||||
mid_data &= rvec[i];
|
||||
res[i] = lval.andnot_cardinality(mid_data);
|
||||
mid_data.clear();
|
||||
mid_data.reset();
|
||||
}
|
||||
}
|
||||
static void vector_scalar(const TData& lvec, const BitmapValue& rval, ResTData* res) {
|
||||
@ -644,7 +644,7 @@ struct BitmapAndNotCount {
|
||||
mid_data = lvec[i];
|
||||
mid_data &= rval;
|
||||
res[i] = lvec[i].andnot_cardinality(mid_data);
|
||||
mid_data.clear();
|
||||
mid_data.reset();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user