fix:multivalue query bug and disable year type

This commit is contained in:
obdev 2024-12-02 11:18:24 +00:00 committed by ob-robot
parent d68413c2e3
commit 6e1de2428d
2 changed files with 5 additions and 1 deletions

View File

@ -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");
}
}

View File

@ -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) {