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: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org