From 532a3bd58029352daff653b736551418ae471047 Mon Sep 17 00:00:00 2001 From: lx0 Date: Tue, 4 Jan 2022 11:11:13 +0800 Subject: [PATCH] Make error code be compatible with MySQL --- src/sql/engine/expr/ob_expr_type_to_str.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sql/engine/expr/ob_expr_type_to_str.cpp b/src/sql/engine/expr/ob_expr_type_to_str.cpp index b03a7cfed..85fbf8e24 100644 --- a/src/sql/engine/expr/ob_expr_type_to_str.cpp +++ b/src/sql/engine/expr/ob_expr_type_to_str.cpp @@ -254,7 +254,7 @@ int ObExprSetToStr::calc(common::ObObj& result, const ObObj& obj1, const ObObj& ret = OB_ERR_UNEXPECTED; LOG_WARN("invalid element num", K(element_num), K(ret)); } else if (OB_UNLIKELY(element_num < EFFECTIVE_COUNT && set_val >= (1ULL << element_num))) { - ret = OB_ERR_UNEXPECTED; + ret = OB_ERR_DATA_TRUNCATED; LOG_WARN("set value out of range", K(set_val), K(element_num)); } else if (OB_UNLIKELY(NULL == (buf = static_cast(expr_ctx.calc_buf_->alloc(BUF_LEN))))) { ret = OB_ALLOCATE_MEMORY_FAILED; @@ -393,8 +393,8 @@ int ObExprEnumToStr::calc(ObObj& result, const ObObj& obj1, const ObObj& obj2, O ObString empty_string; result.set_varchar(empty_string.make_empty_string()); } else if (OB_UNLIKELY(element_idx > element_num - 1)) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("invalid enum value", K(element_idx), K(element_num), K(ret)); + ret = OB_ERR_DATA_TRUNCATED; + LOG_WARN("enum value out of range", K(element_idx), K(element_num), K(ret)); } else { const ObString& element_str = str_values_.at(element_idx); if (element_str.empty()) { -- GitLab