[BUGFIX] fix lob text iter get next return err code
This commit is contained in:
@ -123,8 +123,9 @@ int ObExprConcat::calc_text(common::ObObj &result,
|
||||
}
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (state != TEXTSTRING_ITER_NEXT && state != TEXTSTRING_ITER_END) {
|
||||
ret = OB_INVALID_DATA;
|
||||
LOG_WARN("iter state invalid", K(ret), K(state));
|
||||
ret = (str_iter1.get_inner_ret() != OB_SUCCESS) ?
|
||||
str_iter1.get_inner_ret() : OB_INVALID_DATA;
|
||||
LOG_WARN("iter state invalid", K(ret), K(state), K(str_iter1));
|
||||
}
|
||||
while (OB_SUCC(ret)
|
||||
&& (state = str_iter2.get_next_block(src_block_data)) == TEXTSTRING_ITER_NEXT) {
|
||||
@ -134,8 +135,9 @@ int ObExprConcat::calc_text(common::ObObj &result,
|
||||
}
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (state != TEXTSTRING_ITER_NEXT && state != TEXTSTRING_ITER_END) {
|
||||
ret = OB_INVALID_DATA;
|
||||
LOG_WARN("iter state invalid", K(ret), K(state));
|
||||
ret = (str_iter2.get_inner_ret() != OB_SUCCESS) ?
|
||||
str_iter2.get_inner_ret() : OB_INVALID_DATA;
|
||||
LOG_WARN("iter state invalid", K(ret), K(state), K(str_iter2));
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
@ -384,8 +386,9 @@ static int eval_concat_text(const ObExpr &expr, ObEvalCtx &ctx, ObDatum &expr_da
|
||||
}
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (state != TEXTSTRING_ITER_NEXT && state != TEXTSTRING_ITER_END) {
|
||||
ret = OB_INVALID_DATA;
|
||||
LOG_WARN("iter state invalid", K(ret), K(state));
|
||||
ret = (input_iter.get_inner_ret() != OB_SUCCESS) ?
|
||||
input_iter.get_inner_ret() : OB_INVALID_DATA;
|
||||
LOG_WARN("iter state invalid", K(ret), K(state), K(input_iter));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user