kangkaisen commented on a change in pull request #2752: Add be bitmap udf
URL: https://github.com/apache/incubator-doris/pull/2752#discussion_r366153338
##########
File path: be/src/exprs/bitmap_function.cpp
##########
@@ -465,6 +465,43 @@ StringVal
BitmapFunctions::bitmap_from_string(FunctionContext* ctx, const String
return result;
}
+BooleanVal BitmapFunctions::bitmap_contains(FunctionContext *ctx, const
StringVal &src, const IntVal &input) {
+ if (src.is_null || input.is_null) {
+ return BooleanVal::null();
+ }
+
+ if (src.len == 0) {
+ return BooleanVal(false);
+ }
+
+ RoaringBitmap bitmap;
+ bitmap.update(input.val);
+ bitmap.intersect(RoaringBitmap((char*)src.ptr));
+
+ if (bitmap.cardinality() == 1) {
+ return BooleanVal(true);
+ }
+ return BooleanVal(false);
+}
+
+BooleanVal BitmapFunctions::bitmap_has_any(FunctionContext *ctx, const
StringVal &lhs, const StringVal &rhs) {
+ if (lhs.is_null || rhs.is_null) {
+ return BooleanVal::null();
+ }
+
+ if (lhs.len == 0 || rhs.len == 0) {
Review comment:
zero size means the src input is a object pointer
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]