floating-point expressions shall not be directly or indirectly tested for equality or inequality

This commit is contained in:
hnwyllmm
2022-11-25 03:38:33 +00:00
committed by wangzelin.wzl
parent 2f92ff4ea7
commit fc25b8c5d1
6 changed files with 9 additions and 8 deletions

View File

@ -370,7 +370,7 @@ int ObDMLService::process_before_stmt_trigger(const ObDMLBaseCtDef &dml_ctdef,
dml_event))) {
LOG_WARN("failed to handle before stmt trigger", K(ret));
} else if (OB_FAIL(ObSqlTransControl::stmt_refresh_snapshot(dml_rtctx.get_exec_ctx()))) {
LOG_WARN("failed to get new sanpshot after before stmt trigger evaluated", K(ret));
LOG_WARN("failed to get new snapshot after before stmt trigger evaluated", K(ret));
}
}
return ret;

View File

@ -192,10 +192,11 @@ int ObExprMod::mod_double(ObObj &res,
{
int ret = OB_SUCCESS;
const double EPSILON = 1e-14;
if (OB_UNLIKELY(left.get_type_class() != right.get_type_class())) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("Invalid types", K(ret), K(left), K(right));
} else if (fabs(right.get_double()) == 0.0) {
} else if (fabs(right.get_double()) < EPSILON) {
if (lib::is_oracle_mode()) {
res.set_double(left.get_double());
} else {