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

Merge pull request #808 from mariadb-corporation/develop-merge-up-20190729

Merge develop-1.2 into develop
This commit is contained in:
Roman Nozdrin
2019-08-13 11:55:22 +03:00
committed by GitHub
36 changed files with 365 additions and 176 deletions

View File

@ -1410,7 +1410,7 @@ void TupleAggregateStep::prep1PhaseAggregate(
typeAgg.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAgg.push_back(-1);
widthAgg.push_back(sizeof(long double));
scaleAgg.push_back(scaleProj[colProj]);
scaleAgg.push_back(0);
}
break;
@ -1588,8 +1588,8 @@ void TupleAggregateStep::prep1PhaseAggregate(
}
functionVec[i]->fAuxColumnIndex = lastCol++;
oidsAgg.push_back(oidsAgg[j]);
keysAgg.push_back(keysAgg[j]);
oidsAgg.push_back(oidsProj[j]);
keysAgg.push_back(keysProj[j]);
scaleAgg.push_back(0);
precisionAgg.push_back(0);
precisionAgg.push_back(0);
@ -1604,8 +1604,8 @@ void TupleAggregateStep::prep1PhaseAggregate(
functionVec[i]->fAuxColumnIndex = lastCol;
// sum(x)
oidsAgg.push_back(oidsAgg[j]);
keysAgg.push_back(keysAgg[j]);
oidsAgg.push_back(oidsProj[j]);
keysAgg.push_back(keysProj[j]);
scaleAgg.push_back(0);
precisionAgg.push_back(-1);
typeAgg.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -1613,8 +1613,8 @@ void TupleAggregateStep::prep1PhaseAggregate(
++lastCol;
// sum(x**2)
oidsAgg.push_back(oidsAgg[j]);
keysAgg.push_back(keysAgg[j]);
oidsAgg.push_back(oidsProj[j]);
keysAgg.push_back(keysProj[j]);
scaleAgg.push_back(0);
precisionAgg.push_back(-1);
typeAgg.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -1942,7 +1942,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
typeAgg.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAgg.push_back(-1);
widthAgg.push_back(sizeof(long double));
scaleAgg.push_back(scaleProj[colProj]);
scaleAgg.push_back(0);
colAgg++;
// has distinct step, put the count column for avg next to the sum
@ -2264,7 +2264,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAggDist.push_back(-1);
widthAggDist.push_back(sizeof(long double));
scaleAggDist.push_back(scaleProj[colAgg]);
scaleAggDist.push_back(0);
}
break;
@ -2336,10 +2336,10 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
{
oidsAggDist.push_back(oidsAgg[colAgg]);
keysAggDist.push_back(retKey);
scaleAggDist.push_back(scaleAgg[colAgg] >> 8);
precisionAggDist.push_back(precisionAgg[colAgg]);
typeAggDist.push_back(typeAgg[colAgg]);
widthAggDist.push_back(widthAgg[colAgg]);
scaleAggDist.push_back(0);
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAggDist.push_back(-1);
widthAggDist.push_back(sizeof(long double));
}
else
{
@ -2631,8 +2631,8 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
functionVec2[i]->fAuxColumnIndex = lastCol;
// sum(x)
oidsAggDist.push_back(oidsAggDist[j]);
keysAggDist.push_back(keysAggDist[j]);
oidsAggDist.push_back(oidsAgg[j]);
keysAggDist.push_back(keysAgg[j]);
scaleAggDist.push_back(0);
precisionAggDist.push_back(0);
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -2640,8 +2640,8 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
++lastCol;
// sum(x**2)
oidsAggDist.push_back(oidsAggDist[j]);
keysAggDist.push_back(keysAggDist[j]);
oidsAggDist.push_back(oidsAgg[j]);
keysAggDist.push_back(keysAgg[j]);
scaleAggDist.push_back(0);
precisionAggDist.push_back(-1);
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -3188,7 +3188,7 @@ void TupleAggregateStep::prep2PhasesAggregate(
oidsAggPm.push_back(oidsProj[colProj]);
keysAggPm.push_back(aggKey);
typeAggPm.push_back(CalpontSystemCatalog::LONGDOUBLE);
scaleAggPm.push_back(scaleProj[colProj]);
scaleAggPm.push_back(0);
precisionAggPm.push_back(-1);
widthAggPm.push_back(sizeof(long double));
colAggPm++;
@ -3465,10 +3465,10 @@ void TupleAggregateStep::prep2PhasesAggregate(
{
oidsAggUm.push_back(oidsAggPm[colPm]);
keysAggUm.push_back(retKey);
scaleAggUm.push_back(scaleAggPm[colPm] >> 8);
precisionAggUm.push_back(precisionAggPm[colPm]);
typeAggUm.push_back(typeAggPm[colPm]);
widthAggUm.push_back(widthAggPm[colPm]);
scaleAggUm.push_back(0);
typeAggUm.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAggUm.push_back(-1);
widthAggUm.push_back(sizeof(long double));
}
else
{
@ -3683,8 +3683,8 @@ void TupleAggregateStep::prep2PhasesAggregate(
functionVecUm[i]->fAuxColumnIndex = lastCol;
// sum(x)
oidsAggUm.push_back(oidsAggUm[j]);
keysAggUm.push_back(keysAggUm[j]);
oidsAggUm.push_back(oidsAggPm[j]);
keysAggUm.push_back(keysAggPm[j]);
scaleAggUm.push_back(0);
precisionAggUm.push_back(-1);
typeAggUm.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -3692,8 +3692,8 @@ void TupleAggregateStep::prep2PhasesAggregate(
++lastCol;
// sum(x**2)
oidsAggUm.push_back(oidsAggUm[j]);
keysAggUm.push_back(keysAggUm[j]);
oidsAggUm.push_back(oidsAggPm[j]);
keysAggUm.push_back(keysAggPm[j]);
scaleAggUm.push_back(0);
precisionAggUm.push_back(-1);
typeAggUm.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -4046,7 +4046,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
typeAggPm.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAggPm.push_back(-1);
widthAggPm.push_back(sizeof(long double));
scaleAggPm.push_back(scaleProj[colProj]);
scaleAggPm.push_back(0);
colAggPm++;
}
@ -4415,7 +4415,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAggDist.push_back(-1);
widthAggDist.push_back(sizeof(long double));
scaleAggDist.push_back(scaleAggUm[colUm]);
scaleAggDist.push_back(0);
}
// PM: put the count column for avg next to the sum
// let fall through to add a count column for average function
@ -4477,10 +4477,10 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
{
oidsAggDist.push_back(oidsAggUm[colUm]);
keysAggDist.push_back(retKey);
scaleAggDist.push_back(scaleAggUm[colUm] >> 8);
precisionAggDist.push_back(precisionAggUm[colUm]);
typeAggDist.push_back(typeAggUm[colUm]);
widthAggDist.push_back(widthAggUm[colUm]);
scaleAggDist.push_back(0);
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
precisionAggDist.push_back(-1);
widthAggDist.push_back(sizeof(long double));
}
else
{
@ -4725,8 +4725,8 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
functionVecUm[i]->fAuxColumnIndex = lastCol;
// sum(x)
oidsAggDist.push_back(oidsAggDist[j]);
keysAggDist.push_back(keysAggDist[j]);
oidsAggDist.push_back(oidsAggPm[j]);
keysAggDist.push_back(keysAggPm[j]);
scaleAggDist.push_back(0);
precisionAggDist.push_back(-1);
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -4734,8 +4734,8 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
++lastCol;
// sum(x**2)
oidsAggDist.push_back(oidsAggDist[j]);
keysAggDist.push_back(keysAggDist[j]);
oidsAggDist.push_back(oidsAggPm[j]);
keysAggDist.push_back(keysAggPm[j]);
scaleAggDist.push_back(0);
precisionAggDist.push_back(-1);
typeAggDist.push_back(CalpontSystemCatalog::LONGDOUBLE);
@ -5038,7 +5038,8 @@ void TupleAggregateStep::prepExpressionOnAggregate(SP_ROWAGG_UM_t& aggUM, JobInf
uint64_t eid = -1;
if (((ac = dynamic_cast<ArithmeticColumn*>(it->get())) != NULL) &&
(ac->aggColumnList().size() > 0))
(ac->aggColumnList().size() > 0) &&
(ac->windowfunctionColumnList().size() == 0))
{
const vector<SimpleColumn*>& scols = ac->simpleColumnList();
simpleColumns.insert(simpleColumns.end(), scols.begin(), scols.end());
@ -5047,7 +5048,8 @@ void TupleAggregateStep::prepExpressionOnAggregate(SP_ROWAGG_UM_t& aggUM, JobInf
expressionVec.push_back(*it);
}
else if (((fc = dynamic_cast<FunctionColumn*>(it->get())) != NULL) &&
(fc->aggColumnList().size() > 0))
(fc->aggColumnList().size() > 0) &&
(fc->windowfunctionColumnList().size() == 0))
{
const vector<SimpleColumn*>& sCols = fc->simpleColumnList();
simpleColumns.insert(simpleColumns.end(), sCols.begin(), sCols.end());