From 9802ffae640eb15e0ad61d6d24b34e959512094c Mon Sep 17 00:00:00 2001 From: LINxiansheng Date: Mon, 20 Dec 2021 11:42:49 +0800 Subject: [PATCH] fix two bugs from github issues #715 #716 --- .gitmodules | 2 +- src/share/object/ob_obj_cast.cpp | 8 ++++---- src/share/object/ob_obj_cast.h | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.gitmodules b/.gitmodules index 488b0a7f38..38f62b493e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "logmessage"] path = deps/logmessage - url = git@github.com:oceanbase/oblogmsg.git + url = https://github.com/oceanbase/oblogmsg.git branch = master \ No newline at end of file diff --git a/src/share/object/ob_obj_cast.cpp b/src/share/object/ob_obj_cast.cpp index 6373d1b395..8102a5a082 100644 --- a/src/share/object/ob_obj_cast.cpp +++ b/src/share/object/ob_obj_cast.cpp @@ -1603,10 +1603,10 @@ static int float_number( if (OB_UNLIKELY(ObFloatTC != in.get_type_class() || ObNumberTC != ob_obj_type_class(expect_type))) { ret = OB_ERR_UNEXPECTED; LOG_ERROR("invalid input type", K(ret), K(in), K(expect_type)); - } else if (isnan(value)) { + } else if (std::isnan(value)) { ret = OB_INVALID_NUMERIC; LOG_WARN("float_number failed ", K(ret), K(value)); - } else if (isinf(value)) { + } else if (std::isinf(value)) { ret = OB_NUMERIC_OVERFLOW; LOG_WARN("float_number failed", K(ret), K(value)); } else if (ObUNumberType == expect_type && CAST_FAIL(numeric_negative_check(value))) { @@ -1908,10 +1908,10 @@ static int double_number( if (OB_UNLIKELY(ObDoubleTC != in.get_type_class() || ObNumberTC != ob_obj_type_class(expect_type))) { ret = OB_ERR_UNEXPECTED; LOG_ERROR("invalid input type", K(ret), K(in), K(expect_type)); - } else if (isnan(value) && lib::is_oracle_mode()) { + } else if (std::isnan(value) && lib::is_oracle_mode()) { ret = OB_INVALID_NUMERIC; LOG_WARN("float_number failed ", K(ret), K(value)); - } else if (isinf(value) && lib::is_oracle_mode()) { + } else if (std::isinf(value) && lib::is_oracle_mode()) { ret = OB_NUMERIC_OVERFLOW; LOG_WARN("float_number failed", K(ret), K(value)); } else if (ObUNumberType == expect_type && CAST_FAIL(numeric_negative_check(value))) { diff --git a/src/share/object/ob_obj_cast.h b/src/share/object/ob_obj_cast.h index 0e7f227adb..ec04c01dd9 100644 --- a/src/share/object/ob_obj_cast.h +++ b/src/share/object/ob_obj_cast.h @@ -21,6 +21,7 @@ #include "lib/charset/ob_charset.h" #include "share/ob_errno.h" + namespace oceanbase { namespace common { -- GitLab