Fix row comparison wrong result of decimal int type

This commit is contained in:
hezuojiao
2024-01-19 02:42:37 +00:00
committed by ob-robot
parent e8bde18018
commit 658c51919f
20 changed files with 542 additions and 7 deletions

View File

@ -6210,6 +6210,10 @@ int ObOptimizerUtil::get_expr_without_lossless_cast(const ObRawExpr* ori_expr,
if (OB_ISNULL(ori_expr)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexpected null", K(ret));
} else if (ori_expr->get_expr_type() == T_FUN_SYS_INNER_ROW_CMP_VALUE) {
if (OB_FAIL(get_expr_without_lossless_cast(ori_expr->get_param_expr(2), expr))) {
LOG_WARN("failed to check is lossless column cast", K(ret));
}
} else if (OB_FAIL(is_lossless_column_cast(ori_expr, is_lossless))) {
LOG_WARN("failed to check is lossless column cast", K(ret));
} else if (is_lossless) {