You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Fix(MCOL-4611): mod loses precision on huge narrow decimal (#3473)
This commit is contained in:
@ -106,7 +106,7 @@ IDB_Decimal Func_mod::getDecimalVal(Row& row, FunctionParm& parm, bool& isNull,
|
||||
}
|
||||
|
||||
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull);
|
||||
int64_t value = d.value / pow(10.0, d.scale);
|
||||
int64_t value = d.value / static_cast<int64_t>(pow(10.0, d.scale));
|
||||
int lefto = d.value % (int)pow(10.0, d.scale);
|
||||
|
||||
int64_t mod = (value % div) * pow(10.0, d.scale) + lefto;
|
||||
|
@ -381,7 +381,7 @@ class Func_mod : public Func_Real
|
||||
return static_cast<ModType>(integralRemainder.toTFloat128() + intAndFract.second);
|
||||
}
|
||||
}
|
||||
int64_t value = d.value / pow(10.0, d.scale);
|
||||
int64_t value = d.value / static_cast<int64_t>(pow(10.0, d.scale));
|
||||
return value % div;
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user