From 6e1de2428d92429d59b95bf1386919529afb3073 Mon Sep 17 00:00:00 2001 From: obdev Date: Mon, 2 Dec 2024 11:18:24 +0000 Subject: [PATCH] fix:multivalue query bug and disable year type --- src/sql/engine/expr/ob_expr_json_query.cpp | 3 +++ src/sql/rewrite/ob_range_generator.cpp | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sql/engine/expr/ob_expr_json_query.cpp b/src/sql/engine/expr/ob_expr_json_query.cpp index eb024b14a..302692d64 100644 --- a/src/sql/engine/expr/ob_expr_json_query.cpp +++ b/src/sql/engine/expr/ob_expr_json_query.cpp @@ -183,6 +183,9 @@ int ObExprJsonQuery::check_data_type_allowed(const ObExprResType* types_stack, c (data_type.get_length() > OB_MAX_CAST_CHAR_VARCHAR_LENGTH || data_type.get_length() == -1)) { ret = OB_NOT_MULTIVALUE_SUPPORT; LOG_USER_ERROR(OB_NOT_MULTIVALUE_SUPPORT, "CAST-ing data to array of char/binary BLOBs"); + } else if (data_type.get_type() == ObYearType) { + ret = OB_NOT_MULTIVALUE_SUPPORT; + LOG_USER_ERROR(OB_NOT_MULTIVALUE_SUPPORT, "CAST-ing data to array of Year type"); } } diff --git a/src/sql/rewrite/ob_range_generator.cpp b/src/sql/rewrite/ob_range_generator.cpp index 3d709624d..a372b3868 100644 --- a/src/sql/rewrite/ob_range_generator.cpp +++ b/src/sql/rewrite/ob_range_generator.cpp @@ -2442,8 +2442,9 @@ int ObRangeGenerator::generate_tmp_json_array_param(const ObRangeNode &node, LOG_WARN("allocate memeory failed", K(objs_ptr)); } else if (OB_FAIL(tmp_in_param->in_param_.init(1))) { LOG_WARN("failed to init fixed array size", K(ret)); + } else if (OB_FAIL(tmp_in_param->in_param_.push_back(objs_ptr))) { + LOG_WARN("failed to push back array.", K(ret)); } else { - tmp_in_param->in_param_[0] = objs_ptr; *objs_ptr = cast_obj; } } else if (j_base->json_type() == common::ObJsonNodeType::J_ARRAY) {