[FEAT MERGE] OB Support XMLType

Co-authored-by: simonjoylet <simonjoylet@gmail.com>
This commit is contained in:
obdev
2023-04-28 03:45:10 +00:00
committed by ob-robot
parent 58bb3d34b7
commit 17abf2818a
405 changed files with 18839 additions and 1573 deletions

View File

@ -155,6 +155,7 @@ int ObExprField::eval_field(const ObExpr &expr, ObEvalCtx &ctx, ObDatum &expr_da
{
int ret = OB_SUCCESS;
ObDatum *first = NULL;
int cmp_ret = 0;
if (OB_FAIL(expr.args_[0]->eval(ctx, first))) {
LOG_WARN("evaluate parameter failed", K(ret));
} else {
@ -165,7 +166,9 @@ int ObExprField::eval_field(const ObExpr &expr, ObEvalCtx &ctx, ObDatum &expr_da
ObDatum *d = NULL;
if (OB_FAIL(expr.args_[pos]->eval(ctx, d))) {
LOG_WARN("evaluate parameter failed", K(ret));
} else if (0 == expr.args_[0]->basic_funcs_->null_first_cmp_(*first, *d)) {
} else if (OB_FAIL(expr.args_[0]->basic_funcs_->null_first_cmp_(*first, *d, cmp_ret))) {
LOG_WARN("compare failed", K(ret));
} else if (0 == cmp_ret) {
expr_datum.set_int(pos);
break;
}