1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

MCOL-174 fix compile errors

This commit is contained in:
David Hall
2019-08-22 16:39:02 -05:00
parent 418ceb73dc
commit 881410d397
7 changed files with 11 additions and 10 deletions

View File

@ -35,6 +35,7 @@
#include <alloca.h> #include <alloca.h>
#endif #endif
#include <cstring> #include <cstring>
#include <cmath>
#include <boost/regex.hpp> #include <boost/regex.hpp>
#include "expressionparser.h" #include "expressionparser.h"

View File

@ -182,7 +182,7 @@ int64_t Func_cast_signed::getIntVal(Row& row,
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull); IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull);
double dscale = d.scale; double dscale = d.scale;
int64_t value = d.value / pow(10.0, dscale); int64_t value = d.value / pow(10.0, dscale);
int lefto = (d.value - value * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - value * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( value >= 0 && lefto > 4 ) if ( value >= 0 && lefto > 4 )
value++; value++;
@ -337,7 +337,7 @@ uint64_t Func_cast_unsigned::getUintVal(Row& row,
} }
uint64_t value = d.value / pow(10.0, dscale); uint64_t value = d.value / pow(10.0, dscale);
int lefto = (d.value - value * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - value * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( value >= 0 && lefto > 4 ) if ( value >= 0 && lefto > 4 )
value++; value++;

View File

@ -159,7 +159,7 @@ string Func_char::getStrVal(Row& row,
double dscale = d.scale; double dscale = d.scale;
// get decimal and round up // get decimal and round up
int value = d.value / pow(10.0, dscale); int value = d.value / pow(10.0, dscale);
int lefto = (d.value - value * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - value * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( lefto > 4 ) if ( lefto > 4 )
value++; value++;

View File

@ -73,7 +73,7 @@ string Func_elt::getStrVal(rowgroup::Row& row,
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull); IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull);
double dscale = d.scale; double dscale = d.scale;
number = d.value / pow(10.0, dscale); number = d.value / pow(10.0, dscale);
int lefto = (d.value - number * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - number * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( number >= 0 && lefto > 4 ) if ( number >= 0 && lefto > 4 )
number++; number++;

View File

@ -70,7 +70,7 @@ uint64_t makedate(rowgroup::Row& row,
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull); IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull);
double dscale = d.scale; double dscale = d.scale;
year = d.value / pow(10.0, dscale); year = d.value / pow(10.0, dscale);
int lefto = (d.value - year * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - year * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( year >= 0 && lefto > 4 ) if ( year >= 0 && lefto > 4 )
year++; year++;
@ -130,7 +130,7 @@ uint64_t makedate(rowgroup::Row& row,
IDB_Decimal d = parm[1]->data()->getDecimalVal(row, isNull); IDB_Decimal d = parm[1]->data()->getDecimalVal(row, isNull);
double dscale = d.scale; double dscale = d.scale;
int64_t tmp = d.value / pow(10.0, dscale); int64_t tmp = d.value / pow(10.0, dscale);
int lefto = (d.value - tmp * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - tmp * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( tmp >= 0 && lefto > 4 ) if ( tmp >= 0 && lefto > 4 )
tmp++; tmp++;

View File

@ -76,7 +76,7 @@ string Func_maketime::getStrVal(rowgroup::Row& row,
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull); IDB_Decimal d = parm[0]->data()->getDecimalVal(row, isNull);
double dscale = d.scale; double dscale = d.scale;
hour = d.value / pow(10.0, dscale); hour = d.value / pow(10.0, dscale);
int lefto = (d.value - hour * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - hour * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( hour >= 0 && lefto > 4 ) if ( hour >= 0 && lefto > 4 )
hour++; hour++;
@ -116,7 +116,7 @@ string Func_maketime::getStrVal(rowgroup::Row& row,
IDB_Decimal d = parm[1]->data()->getDecimalVal(row, isNull); IDB_Decimal d = parm[1]->data()->getDecimalVal(row, isNull);
double dscale = d.scale; double dscale = d.scale;
min = d.value / pow(10.0, dscale); min = d.value / pow(10.0, dscale);
int lefto = (d.value - min * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - min * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( min >= 0 && lefto > 4 ) if ( min >= 0 && lefto > 4 )
min++; min++;
@ -162,7 +162,7 @@ string Func_maketime::getStrVal(rowgroup::Row& row,
IDB_Decimal d = parm[2]->data()->getDecimalVal(row, isNull); IDB_Decimal d = parm[2]->data()->getDecimalVal(row, isNull);
double dscale = d.scale; double dscale = d.scale;
sec = d.value / pow(10.0, dscale); sec = d.value / pow(10.0, dscale);
int lefto = (d.value - sec * pow(10.0, dscale)) / pow(dscale - 1); int lefto = (d.value - sec * pow(10.0, dscale)) / pow(10.0, dscale - 1);
if ( sec >= 0 && lefto > 4 ) if ( sec >= 0 && lefto > 4 )
sec++; sec++;

View File

@ -75,7 +75,7 @@ IDB_Decimal Func_mod::getDecimalVal(Row& row,
IDB_Decimal d = parm[0]->data()->getDecimalVal(row, 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 / pow(10.0, d.scale);
int lefto = d.value % 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; int64_t mod = (value % div) * pow(10.0, d.scale) + lefto;