1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00

MCOL-641 Add support for functions (Part 2).

This commit is contained in:
Gagan Goel
2020-07-13 17:52:24 -04:00
committed by Roman Nozdrin
parent bd0d5af123
commit 6aea838360
50 changed files with 578 additions and 125 deletions

View File

@@ -61,10 +61,22 @@ DateTime getDateTime(rowgroup::Row& row,
break;
}
case execplan::CalpontSystemCatalog::DECIMAL:
case execplan::CalpontSystemCatalog::UDECIMAL:
{
IDB_Decimal dec = parm[0]->data()->getDecimalVal(row, isNull);
val = dec.value / IDB_pow[dec.scale];
msec = dec.value % IDB_pow[dec.scale];
if (parm[0]->data()->resultType().colWidth == datatypes::MAXDECIMALWIDTH)
{
int128_t scaleDivisor;
datatypes::getScaleDivisor(scaleDivisor, dec.scale);
val = datatypes::Decimal::getInt64FromWideDecimal(dec.s128Value / scaleDivisor);
msec = datatypes::Decimal::getUInt32FromWideDecimal(dec.s128Value % scaleDivisor);
}
else
{
val = dec.value / IDB_pow[dec.scale];
msec = dec.value % IDB_pow[dec.scale];
}
break;
}