Fix the bug of incorrect result from bit cast to decimal, when the value is out of int64_t
This commit is contained in:
@ -6100,7 +6100,7 @@ CAST_FUNC_NAME(bit, number)
|
||||
{
|
||||
EVAL_ARG()
|
||||
{
|
||||
int64_t in_val = child_res->get_uint();
|
||||
uint64_t in_val = child_res->get_uint();
|
||||
ObNumStackOnceAlloc tmp_alloc;
|
||||
number::ObNumber number;
|
||||
if (OB_FAIL(number.from(in_val, tmp_alloc))) {
|
||||
@ -6357,7 +6357,7 @@ CAST_FUNC_NAME(bit, decimalint)
|
||||
{
|
||||
EVAL_ARG()
|
||||
{
|
||||
int64_t in_val = child_res->get_uint();
|
||||
uint64_t in_val = child_res->get_uint();
|
||||
ObDecimalIntBuilder tmp_alloc;
|
||||
ObDecimalInt *decint = nullptr;
|
||||
int32_t val_len = 0;
|
||||
|
||||
Reference in New Issue
Block a user