fix extract bit range use neg value cause result error

This commit is contained in:
ChangerR 2024-12-17 11:45:51 +00:00 committed by ob-robot
parent 1fcf2c2aae
commit 31a328a4c6

View File

@ -1432,6 +1432,8 @@ static int int_bit(const ObObjType expect_type, ObObjCastParams &params,
|| ObBitTC != ob_obj_type_class(expect_type))) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("invalid input type", K(ret), K(in), K(expect_type));
} else if (CM_NEED_RANGE_CHECK(cast_mode)
&& CAST_FAIL(uint_range_check(ObUInt64Type, in.get_int(), value))) {
} else if (OB_FAIL(get_bit_len(value, bit_len))) {
LOG_WARN("fail to get bit len", K(ret), K(value), K(bit_len));
} else {