Placeholder for roaringbitmap expr.
This commit is contained in:
12
deps/oblib/src/lib/container/ob_mask_set2.h
vendored
12
deps/oblib/src/lib/container/ob_mask_set2.h
vendored
@ -22,9 +22,9 @@ namespace common
|
||||
{
|
||||
|
||||
template<typename T>
|
||||
class ObMaskSet2
|
||||
{
|
||||
public:
|
||||
class ObMaskSet2
|
||||
{
|
||||
public:
|
||||
ObMaskSet2() : is_inited_(false), array_(NULL), bitset_() {}
|
||||
~ObMaskSet2() {}
|
||||
int init(const ObIArray<T> *array)
|
||||
@ -144,9 +144,9 @@ public:
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < array_->count(); ++i) {
|
||||
if (!bitset_.has_member(i)) {
|
||||
if (OB_FAIL(array.push_back(array_->at(i)))) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -895,7 +895,22 @@ typedef enum ObItemType
|
||||
T_FUN_SYS_RB_BUILD_AGG = 2027,
|
||||
T_FUN_SYS_RB_OR_AGG = 2028,
|
||||
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,
|
||||
|
||||
//pseudo column, to mark the group iterator id
|
||||
|
||||
@ -1173,6 +1173,25 @@ static ObExpr::EvalFunc g_expr_eval_functions[] = {
|
||||
NULL, // ObExprCanAccessTrigger::can_access_trigger, /* 694 */
|
||||
NULL, //ObRelationalExprOperator::eval_min_max_compare, /* 695 */
|
||||
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[] = {
|
||||
|
||||
Reference in New Issue
Block a user