Placeholder for roaringbitmap expr.

This commit is contained in:
qijiax
2024-05-13 03:16:11 +00:00
committed by ob-robot
parent 5899210d36
commit 92d802422f
3 changed files with 41 additions and 7 deletions

View File

@ -22,9 +22,9 @@ namespace common
{ {
template<typename T> template<typename T>
class ObMaskSet2 class ObMaskSet2
{ {
public: public:
ObMaskSet2() : is_inited_(false), array_(NULL), bitset_() {} ObMaskSet2() : is_inited_(false), array_(NULL), bitset_() {}
~ObMaskSet2() {} ~ObMaskSet2() {}
int init(const ObIArray<T> *array) int init(const ObIArray<T> *array)
@ -144,9 +144,9 @@ public:
for (int64_t i = 0; OB_SUCC(ret) && i < array_->count(); ++i) { for (int64_t i = 0; OB_SUCC(ret) && i < array_->count(); ++i) {
if (!bitset_.has_member(i)) { if (!bitset_.has_member(i)) {
if (OB_FAIL(array.push_back(array_->at(i)))) { if (OB_FAIL(array.push_back(array_->at(i)))) {
} }
} }
} }
} }
return ret; return ret;
} }

View File

@ -895,7 +895,22 @@ typedef enum ObItemType
T_FUN_SYS_RB_BUILD_AGG = 2027, T_FUN_SYS_RB_BUILD_AGG = 2027,
T_FUN_SYS_RB_OR_AGG = 2028, T_FUN_SYS_RB_OR_AGG = 2028,
T_FUN_SYS_SDO_RELATE = 2029, T_FUN_SYS_SDO_RELATE = 2029,
T_FUN_SYS_RB_AND_AGG = 2030,
T_FUN_SYS_RB_CARDINALITY = 2031,
T_FUN_SYS_RB_AND_CARDINALITY = 2032,
T_FUN_SYS_RB_OR_CARDINALITY = 2033,
T_FUN_SYS_RB_XOR_CARDINALITY = 2034,
T_FUN_SYS_RB_ANDNOT_CARDINALITY = 2035,
T_FUN_SYS_RB_AND_NULL2EMPTY_CARDINALITY = 2036,
T_FUN_SYS_RB_OR_NULL2EMPTY_CARDINALITY = 2037,
T_FUN_SYS_RB_ANDNOT_NULL2EMPTY_CARDINALITY = 2038,
T_FUN_SYS_RB_AND = 2039,
T_FUN_SYS_RB_OR = 2040,
T_FUN_SYS_RB_XOR = 2041,
T_FUN_SYS_RB_ANDNOT = 2042,
T_FUN_SYS_RB_AND_NULL2EMPTY = 2043,
T_FUN_SYS_RB_OR_NULL2EMPTY = 2044,
T_FUN_SYS_RB_ANDNOT_NULL2EMPTY = 2045,
T_MAX_OP = 3000, T_MAX_OP = 3000,
//pseudo column, to mark the group iterator id //pseudo column, to mark the group iterator id

View File

@ -1173,6 +1173,25 @@ static ObExpr::EvalFunc g_expr_eval_functions[] = {
NULL, // ObExprCanAccessTrigger::can_access_trigger, /* 694 */ NULL, // ObExprCanAccessTrigger::can_access_trigger, /* 694 */
NULL, //ObRelationalExprOperator::eval_min_max_compare, /* 695 */ NULL, //ObRelationalExprOperator::eval_min_max_compare, /* 695 */
NULL, //ObRelationalExprOperator::min_max_row_eval, /* 696 */ NULL, //ObRelationalExprOperator::min_max_row_eval, /* 696 */
NULL, // ObExprRbBuildEmpty::eval_rb_build_empty, /* 697 */
NULL, // ObExprRbIsEmpty::eval_rb_is_empty, /* 698 */
NULL, // ObExprRbBuildVarbinary::eval_rb_build_varbinary, /* 699 */
NULL, // ObExprRbToVarbinary::eval_rb_to_varbinary, /* 700 */
NULL, // ObExprRbCardinality::eval_rb_cardinality, /* 701 */
NULL, // ObExprRbAndCardinality::eval_rb_and_cardinality, /* 702 */
NULL, // ObExprRbOrCardinality::eval_rb_or_cardinality, /* 703 */
NULL, // ObExprRbXorCardinality::eval_rb_xor_cardinality, /* 704 */
NULL, // ObExprRbAndnotCardinality::eval_rb_andnot_cardinality, /* 705 */
NULL, // ObExprRbAndNull2emptyCardinality::eval_rb_and_null2empty_cardinality, /* 706 */
NULL, // ObExprRbOrNull2emptyCardinality::eval_rb_or_null2empty_cardinality, /* 707 */
NULL, // ObExprRbAndnotNull2emptyCardinality::eval_rb_andnot_null2empty_cardinality, /* 708 */
NULL, // ObExprRbAnd::eval_rb_and, /* 709 */
NULL, // ObExprRbOr::eval_rb_or, /* 710 */
NULL, // ObExprRbXor::eval_rb_xor, /* 711 */
NULL, // ObExprRbAndnot::eval_rb_andnot, /* 712 */
NULL, // ObExprRbAndNull2empty::eval_rb_and_null2empty, /* 713 */
NULL, // ObExprRbOrNull2empty::eval_rb_or_null2empty, /* 714 */
NULL, // ObExprRbAndnotNull2empty::eval_rb_andnot_null2empty, /* 715 */
}; };
static ObExpr::EvalBatchFunc g_expr_eval_batch_functions[] = { static ObExpr::EvalBatchFunc g_expr_eval_batch_functions[] = {