[CP] Fix json cast (issue/41928694 & issue/41985147)

This commit is contained in:
obdev
2022-06-08 20:00:01 +08:00
committed by wangzelin.wzl
parent 5ade6a52d9
commit 9d200b4938
2 changed files with 3 additions and 3 deletions

View File

@ -40,7 +40,7 @@ int ObExprIfNull::calc_result_type2(
LOG_WARN("session is NULL", K(ret));
} else if (OB_FAIL(ObExprPromotionUtil::get_nvl_type(type, type1, type2))) {
LOG_WARN("failed to get nvl type", K(ret));
} else if (ob_is_string_type(type.get_type())) {
} else if (ob_is_string_type(type.get_type()) || ob_is_json_tc(type.get_type())) {
ObCollationLevel res_cs_level = CS_LEVEL_INVALID;
ObCollationType res_cs_type = CS_TYPE_INVALID;
if (OB_FAIL(ObCharset::aggregate_collation(type1.get_collation_level(),

View File

@ -1779,7 +1779,7 @@ static ObObjType RELATIONAL_CMP_TYPE[ObMaxType][ObMaxType] =
ObVarcharType, /* ObNCharType */
ObNullType, /* ObURowIDType */
ObNullType, /* ObLobType */
ObMaxType, /* ObJsonType */
ObNumberType, /* ObJsonType */
},
/*EnumInnerType*/
{
@ -2480,7 +2480,7 @@ static ObObjType RELATIONAL_CMP_TYPE[ObMaxType][ObMaxType] =
ObJsonType, /*LongTextType*/
ObJsonType, /*BitType*/
ObMaxType, /* EnumType */
ObMaxType, /* SetType */
ObNumberType, /* SetType */
ObMaxType, /* EnumInnerType */
ObMaxType, /* SetInnerType */
ObTimestampTZType, /* ObTimestampTZType */