[CP] Fix json cast (issue/41928694 & issue/41985147)
This commit is contained in:
@ -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(),
|
||||
|
@ -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 */
|
||||
|
Reference in New Issue
Block a user