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-4188 Regression fixes for MCOL-641.
1. In TupleAggregateStep::configDeliveredRowGroup(), use jobInfo.projectionCols instead of jobInfo.nonConstCols for setting scale and precision if the source column is wide decimal. 2. Tighten rules for wide decimal processing. Specifically: a. Replace (precision > INT64MAXPRECISION) checks with (precision > INT64MAXPRECISION && precision <= INT128MAXPRECISION) b. At places where (colWidth == MAXDECIMALWIDTH) is not enough to determine if a column is wide decimal or not, also add a check on type being DECIMAL/UDECIMAL.
This commit is contained in:
@ -67,7 +67,7 @@ IDB_Decimal Func_abs::getDecimalVal(Row& row,
|
||||
{
|
||||
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull);
|
||||
|
||||
if (parm[0]->data()->resultType().colWidth == datatypes::MAXDECIMALWIDTH)
|
||||
if (parm[0]->data()->resultType().isWideDecimalType())
|
||||
d.s128Value = (d.s128Value < 0) ? -d.s128Value : d.s128Value;
|
||||
else
|
||||
d.value = llabs(d.value);
|
||||
|
Reference in New Issue
Block a user