You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
MCOL-4387 Convert dataconvert::decimalToString() into VDecimal and TSInt128 methods
This commit is contained in:
@ -542,15 +542,10 @@ string Func_cast_char::getStrVal(Row& row,
|
||||
{
|
||||
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull);
|
||||
|
||||
char buf[80];
|
||||
|
||||
if (parm[0]->data()->resultType().colWidth == datatypes::MAXDECIMALWIDTH)
|
||||
dataconvert::DataConvert::decimalToString( &d.s128Value, d.scale, buf, 80, parm[0]->data()->resultType().colDataType);
|
||||
return d.toString(true).substr(0, length);
|
||||
else
|
||||
dataconvert::DataConvert::decimalToString( d.value, d.scale, buf, 80, parm[0]->data()->resultType().colDataType);
|
||||
|
||||
string sbuf = buf;
|
||||
return sbuf.substr(0, length);
|
||||
return d.toString().substr(0, length);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1231,17 +1226,10 @@ string Func_cast_decimal::getStrVal(Row& row,
|
||||
parm,
|
||||
isNull,
|
||||
operationColType);
|
||||
|
||||
char buf[80];
|
||||
|
||||
if (decimal.precision > datatypes::INT64MAXPRECISION)
|
||||
dataconvert::DataConvert::decimalToString( &decimal.s128Value, decimal.scale, buf, 80, operationColType.colDataType);
|
||||
if (operationColType.colWidth == datatypes::MAXDECIMALWIDTH)
|
||||
return decimal.toString(true);
|
||||
else
|
||||
dataconvert::DataConvert::decimalToString( decimal.value, decimal.scale, buf, 80, operationColType.colDataType);
|
||||
|
||||
string value = buf;
|
||||
return value;
|
||||
|
||||
return decimal.toString();
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user