floating-point expressions shall not be directly or indirectly tested for equality or inequality
This commit is contained in:
@ -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;
|
||||
|
||||
@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user