You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-04 04:42:30 +03:00
Merge branch 'develop-1.1' into develop
This commit is contained in:
@ -76,19 +76,19 @@ namespace
|
|||||||
|
|
||||||
struct cmpTuple
|
struct cmpTuple
|
||||||
{
|
{
|
||||||
bool operator()(tuple<uint32_t, int, mcsv1sdk::mcsv1_UDAF*> a,
|
bool operator()(boost::tuple<uint32_t, int, mcsv1sdk::mcsv1_UDAF*> a,
|
||||||
tuple<uint32_t, int, mcsv1sdk::mcsv1_UDAF*> b)
|
boost::tuple<uint32_t, int, mcsv1sdk::mcsv1_UDAF*> b)
|
||||||
{
|
{
|
||||||
if (get<0>(a) < get<0>(b))
|
if (boost::get<0>(a) < boost::get<0>(b))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (get<0>(a) == get<0>(b))
|
if (boost::get<0>(a) == boost::get<0>(b))
|
||||||
{
|
{
|
||||||
if (get<1>(a) < get<1>(b))
|
if (boost::get<1>(a) < boost::get<1>(b))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (get<1>(a) == get<1>(b))
|
if (boost::get<1>(a) == boost::get<1>(b))
|
||||||
return get<2>(a) < get<2>(b);
|
return boost::get<2>(a) < boost::get<2>(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -101,7 +101,7 @@ typedef vector<RowBucket> RowBucketVec;
|
|||||||
// The AGG_MAP type is used to maintain a list of aggregate functions in order to
|
// The AGG_MAP type is used to maintain a list of aggregate functions in order to
|
||||||
// detect duplicates. Since all UDAF have the same op type (ROWAGG_UDAF), we add in
|
// detect duplicates. Since all UDAF have the same op type (ROWAGG_UDAF), we add in
|
||||||
// the function pointer in order to ensure uniqueness.
|
// the function pointer in order to ensure uniqueness.
|
||||||
typedef map<tuple<uint32_t, int, mcsv1sdk::mcsv1_UDAF*>, uint64_t, cmpTuple> AGG_MAP;
|
typedef map<boost::tuple<uint32_t, int, mcsv1sdk::mcsv1_UDAF*>, uint64_t, cmpTuple> AGG_MAP;
|
||||||
|
|
||||||
inline RowAggFunctionType functionIdMap(int planFuncId)
|
inline RowAggFunctionType functionIdMap(int planFuncId)
|
||||||
{
|
{
|
||||||
@ -1477,7 +1477,7 @@ void TupleAggregateStep::prep1PhaseAggregate(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// find if this func is a duplicate
|
// find if this func is a duplicate
|
||||||
AGG_MAP::iterator iter = aggFuncMap.find(make_tuple(key, aggOp, pUDAFFunc));
|
AGG_MAP::iterator iter = aggFuncMap.find(boost::make_tuple(key, aggOp, pUDAFFunc));
|
||||||
|
|
||||||
if (iter != aggFuncMap.end())
|
if (iter != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -1494,7 +1494,7 @@ void TupleAggregateStep::prep1PhaseAggregate(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
aggFuncMap.insert(make_pair(make_tuple(key, aggOp, pUDAFFunc), funct->fOutputColumnIndex));
|
aggFuncMap.insert(make_pair(boost::make_tuple(key, aggOp, pUDAFFunc), funct->fOutputColumnIndex));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1704,7 +1704,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
typeAgg.push_back(typeProj[colProj]);
|
typeAgg.push_back(typeProj[colProj]);
|
||||||
widthAgg.push_back(widthProj[colProj]);
|
widthAgg.push_back(widthProj[colProj]);
|
||||||
|
|
||||||
aggFuncMap.insert(make_pair(make_tuple(keysAgg[colAgg], 0, pUDAFFunc), colAgg));
|
aggFuncMap.insert(make_pair(boost::make_tuple(keysAgg[colAgg], 0, pUDAFFunc), colAgg));
|
||||||
colAgg++;
|
colAgg++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1745,7 +1745,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
typeAgg.push_back(typeProj[colProj]);
|
typeAgg.push_back(typeProj[colProj]);
|
||||||
widthAgg.push_back(widthProj[colProj]);
|
widthAgg.push_back(widthProj[colProj]);
|
||||||
|
|
||||||
aggFuncMap.insert(make_pair(make_tuple(keysAgg[colAgg], 0, pUDAFFunc), colAgg));
|
aggFuncMap.insert(make_pair(boost::make_tuple(keysAgg[colAgg], 0, pUDAFFunc), colAgg));
|
||||||
colAgg++;
|
colAgg++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1775,7 +1775,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
SP_ROWAGG_FUNC_t funct(new RowAggFunctionCol(
|
SP_ROWAGG_FUNC_t funct(new RowAggFunctionCol(
|
||||||
aggOp, stats, colAgg, colAgg, -1));
|
aggOp, stats, colAgg, colAgg, -1));
|
||||||
functionVec1.push_back(funct);
|
functionVec1.push_back(funct);
|
||||||
aggFuncMap.insert(make_pair(make_tuple(aggKey, aggOp, pUDAFFunc), colAgg));
|
aggFuncMap.insert(make_pair(boost::make_tuple(aggKey, aggOp, pUDAFFunc), colAgg));
|
||||||
colAgg++;
|
colAgg++;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
@ -1831,11 +1831,11 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// skip if this is a duplicate
|
// skip if this is a duplicate
|
||||||
if (aggFuncMap.find(make_tuple(aggKey, aggOp, pUDAFFunc)) != aggFuncMap.end())
|
if (aggFuncMap.find(boost::make_tuple(aggKey, aggOp, pUDAFFunc)) != aggFuncMap.end())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
functionVec1.push_back(funct);
|
functionVec1.push_back(funct);
|
||||||
aggFuncMap.insert(make_pair(make_tuple(aggKey, aggOp, pUDAFFunc), colAgg));
|
aggFuncMap.insert(make_pair(boost::make_tuple(aggKey, aggOp, pUDAFFunc), colAgg));
|
||||||
|
|
||||||
switch (aggOp)
|
switch (aggOp)
|
||||||
{
|
{
|
||||||
@ -2081,7 +2081,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
{
|
{
|
||||||
SP_ROWAGG_GRPBY_t groupby(new RowAggGroupByCol(i, -1));
|
SP_ROWAGG_GRPBY_t groupby(new RowAggGroupByCol(i, -1));
|
||||||
groupByNoDist.push_back(groupby);
|
groupByNoDist.push_back(groupby);
|
||||||
aggFuncMap.insert(make_pair(make_tuple(keysAgg[i], 0, pUDAFFunc), i));
|
aggFuncMap.insert(make_pair(boost::make_tuple(keysAgg[i], 0, pUDAFFunc), i));
|
||||||
}
|
}
|
||||||
|
|
||||||
// locate the return column position in aggregated rowgroup
|
// locate the return column position in aggregated rowgroup
|
||||||
@ -2096,7 +2096,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
if (find(jobInfo.distinctColVec.begin(), jobInfo.distinctColVec.end(), retKey) !=
|
if (find(jobInfo.distinctColVec.begin(), jobInfo.distinctColVec.end(), retKey) !=
|
||||||
jobInfo.distinctColVec.end() )
|
jobInfo.distinctColVec.end() )
|
||||||
{
|
{
|
||||||
AGG_MAP::iterator it = aggFuncMap.find(make_tuple(retKey, 0, pUDAFFunc));
|
AGG_MAP::iterator it = aggFuncMap.find(boost::make_tuple(retKey, 0, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -2208,7 +2208,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
case ROWAGG_BIT_XOR:
|
case ROWAGG_BIT_XOR:
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
AGG_MAP::iterator it = aggFuncMap.find(make_tuple(retKey, aggOp, pUDAFFunc));
|
AGG_MAP::iterator it = aggFuncMap.find(boost::make_tuple(retKey, aggOp, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -2239,7 +2239,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
// check if a SUM or COUNT covered by AVG
|
// check if a SUM or COUNT covered by AVG
|
||||||
if (aggOp == ROWAGG_SUM || aggOp == ROWAGG_COUNT_COL_NAME)
|
if (aggOp == ROWAGG_SUM || aggOp == ROWAGG_COUNT_COL_NAME)
|
||||||
{
|
{
|
||||||
it = aggFuncMap.find(make_tuple(returnedColVec[i].first, ROWAGG_AVG, pUDAFFunc));
|
it = aggFuncMap.find(boost::make_tuple(returnedColVec[i].first, ROWAGG_AVG, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -2417,7 +2417,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
functionVec2.push_back(funct);
|
functionVec2.push_back(funct);
|
||||||
|
|
||||||
// find if this func is a duplicate
|
// find if this func is a duplicate
|
||||||
AGG_MAP::iterator iter = aggDupFuncMap.find(make_tuple(retKey, aggOp, pUDAFFunc));
|
AGG_MAP::iterator iter = aggDupFuncMap.find(boost::make_tuple(retKey, aggOp, pUDAFFunc));
|
||||||
|
|
||||||
if (iter != aggDupFuncMap.end())
|
if (iter != aggDupFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -2434,7 +2434,7 @@ void TupleAggregateStep::prep1PhaseDistinctAggregate(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
aggDupFuncMap.insert(make_pair(make_tuple(retKey, aggOp, pUDAFFunc),
|
aggDupFuncMap.insert(make_pair(boost::make_tuple(retKey, aggOp, pUDAFFunc),
|
||||||
funct->fOutputColumnIndex));
|
funct->fOutputColumnIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2910,7 +2910,7 @@ void TupleAggregateStep::prep2PhasesAggregate(
|
|||||||
typeAggPm.push_back(typeProj[colProj]);
|
typeAggPm.push_back(typeProj[colProj]);
|
||||||
widthAggPm.push_back(width[colProj]);
|
widthAggPm.push_back(width[colProj]);
|
||||||
|
|
||||||
aggFuncMap.insert(make_pair(make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
aggFuncMap.insert(make_pair(boost::make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
||||||
colAggPm++;
|
colAggPm++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2951,7 +2951,7 @@ void TupleAggregateStep::prep2PhasesAggregate(
|
|||||||
typeAggPm.push_back(typeProj[colProj]);
|
typeAggPm.push_back(typeProj[colProj]);
|
||||||
widthAggPm.push_back(width[colProj]);
|
widthAggPm.push_back(width[colProj]);
|
||||||
|
|
||||||
aggFuncMap.insert(make_pair(make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
aggFuncMap.insert(make_pair(boost::make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
||||||
colAggPm++;
|
colAggPm++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3011,11 +3011,11 @@ void TupleAggregateStep::prep2PhasesAggregate(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// skip if this is a duplicate
|
// skip if this is a duplicate
|
||||||
if (aggFuncMap.find(make_tuple(aggKey, aggOp, pUDAFFunc)) != aggFuncMap.end())
|
if (aggFuncMap.find(boost::make_tuple(aggKey, aggOp, pUDAFFunc)) != aggFuncMap.end())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
functionVecPm.push_back(funct);
|
functionVecPm.push_back(funct);
|
||||||
aggFuncMap.insert(make_pair(make_tuple(aggKey, aggOp, pUDAFFunc), colAggPm));
|
aggFuncMap.insert(make_pair(boost::make_tuple(aggKey, aggOp, pUDAFFunc), colAggPm));
|
||||||
|
|
||||||
switch (aggOp)
|
switch (aggOp)
|
||||||
{
|
{
|
||||||
@ -3269,7 +3269,7 @@ void TupleAggregateStep::prep2PhasesAggregate(
|
|||||||
pUDAFFunc = udafc->getContext().getFunction();
|
pUDAFFunc = udafc->getContext().getFunction();
|
||||||
}
|
}
|
||||||
|
|
||||||
AGG_MAP::iterator it = aggFuncMap.find(make_tuple(retKey, aggOp, pUDAFFunc));
|
AGG_MAP::iterator it = aggFuncMap.find(boost::make_tuple(retKey, aggOp, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -3290,7 +3290,7 @@ void TupleAggregateStep::prep2PhasesAggregate(
|
|||||||
// check if a SUM or COUNT covered by AVG
|
// check if a SUM or COUNT covered by AVG
|
||||||
if (aggOp == ROWAGG_SUM || aggOp == ROWAGG_COUNT_COL_NAME)
|
if (aggOp == ROWAGG_SUM || aggOp == ROWAGG_COUNT_COL_NAME)
|
||||||
{
|
{
|
||||||
it = aggFuncMap.find(make_tuple(returnedColVec[i].first, ROWAGG_AVG, pUDAFFunc));
|
it = aggFuncMap.find(boost::make_tuple(returnedColVec[i].first, ROWAGG_AVG, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -3435,7 +3435,7 @@ void TupleAggregateStep::prep2PhasesAggregate(
|
|||||||
functionVecUm.push_back(funct);
|
functionVecUm.push_back(funct);
|
||||||
|
|
||||||
// find if this func is a duplicate
|
// find if this func is a duplicate
|
||||||
AGG_MAP::iterator iter = aggDupFuncMap.find(make_tuple(retKey, aggOp, pUDAFFunc));
|
AGG_MAP::iterator iter = aggDupFuncMap.find(boost::make_tuple(retKey, aggOp, pUDAFFunc));
|
||||||
|
|
||||||
if (iter != aggDupFuncMap.end())
|
if (iter != aggDupFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -3452,7 +3452,7 @@ void TupleAggregateStep::prep2PhasesAggregate(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
aggDupFuncMap.insert(make_pair(make_tuple(retKey, aggOp, pUDAFFunc),
|
aggDupFuncMap.insert(make_pair(boost::make_tuple(retKey, aggOp, pUDAFFunc),
|
||||||
funct->fOutputColumnIndex));
|
funct->fOutputColumnIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3707,7 +3707,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
typeAggPm.push_back(typeProj[colProj]);
|
typeAggPm.push_back(typeProj[colProj]);
|
||||||
widthAggPm.push_back(width[colProj]);
|
widthAggPm.push_back(width[colProj]);
|
||||||
|
|
||||||
aggFuncMap.insert(make_pair(make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
aggFuncMap.insert(make_pair(boost::make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
||||||
colAggPm++;
|
colAggPm++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3748,7 +3748,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
typeAggPm.push_back(typeProj[colProj]);
|
typeAggPm.push_back(typeProj[colProj]);
|
||||||
widthAggPm.push_back(width[colProj]);
|
widthAggPm.push_back(width[colProj]);
|
||||||
|
|
||||||
aggFuncMap.insert(make_pair(make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
aggFuncMap.insert(make_pair(boost::make_tuple(keysAggPm[colAggPm], 0, pUDAFFunc), colAggPm));
|
||||||
colAggPm++;
|
colAggPm++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3815,11 +3815,11 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// skip if this is a duplicate
|
// skip if this is a duplicate
|
||||||
if (aggFuncMap.find(make_tuple(aggKey, aggOp, pUDAFFunc)) != aggFuncMap.end())
|
if (aggFuncMap.find(boost::make_tuple(aggKey, aggOp, pUDAFFunc)) != aggFuncMap.end())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
functionVecPm.push_back(funct);
|
functionVecPm.push_back(funct);
|
||||||
aggFuncMap.insert(make_pair(make_tuple(aggKey, aggOp, pUDAFFunc), colAggPm));
|
aggFuncMap.insert(make_pair(boost::make_tuple(aggKey, aggOp, pUDAFFunc), colAggPm));
|
||||||
|
|
||||||
switch (aggOp)
|
switch (aggOp)
|
||||||
{
|
{
|
||||||
@ -4110,7 +4110,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
if (find(jobInfo.distinctColVec.begin(), jobInfo.distinctColVec.end(), retKey) !=
|
if (find(jobInfo.distinctColVec.begin(), jobInfo.distinctColVec.end(), retKey) !=
|
||||||
jobInfo.distinctColVec.end() )
|
jobInfo.distinctColVec.end() )
|
||||||
{
|
{
|
||||||
AGG_MAP::iterator it = aggFuncMap.find(make_tuple(retKey, 0, pUDAFFunc));
|
AGG_MAP::iterator it = aggFuncMap.find(boost::make_tuple(retKey, 0, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -4228,7 +4228,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
case ROWAGG_CONSTANT:
|
case ROWAGG_CONSTANT:
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
AGG_MAP::iterator it = aggFuncMap.find(make_tuple(retKey, aggOp, pUDAFFunc));
|
AGG_MAP::iterator it = aggFuncMap.find(boost::make_tuple(retKey, aggOp, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -4249,7 +4249,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
// check if a SUM or COUNT covered by AVG
|
// check if a SUM or COUNT covered by AVG
|
||||||
if (aggOp == ROWAGG_SUM || aggOp == ROWAGG_COUNT_COL_NAME)
|
if (aggOp == ROWAGG_SUM || aggOp == ROWAGG_COUNT_COL_NAME)
|
||||||
{
|
{
|
||||||
it = aggFuncMap.find(make_tuple(returnedColVec[i].first, ROWAGG_AVG, pUDAFFunc));
|
it = aggFuncMap.find(boost::make_tuple(returnedColVec[i].first, ROWAGG_AVG, pUDAFFunc));
|
||||||
|
|
||||||
if (it != aggFuncMap.end())
|
if (it != aggFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -4384,7 +4384,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
functionVecUm.push_back(funct);
|
functionVecUm.push_back(funct);
|
||||||
|
|
||||||
// find if this func is a duplicate
|
// find if this func is a duplicate
|
||||||
AGG_MAP::iterator iter = aggDupFuncMap.find(make_tuple(retKey, aggOp, pUDAFFunc));
|
AGG_MAP::iterator iter = aggDupFuncMap.find(boost::make_tuple(retKey, aggOp, pUDAFFunc));
|
||||||
|
|
||||||
if (iter != aggDupFuncMap.end())
|
if (iter != aggDupFuncMap.end())
|
||||||
{
|
{
|
||||||
@ -4401,7 +4401,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate(
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
aggDupFuncMap.insert(make_pair(make_tuple(retKey, aggOp, pUDAFFunc),
|
aggDupFuncMap.insert(make_pair(boost::make_tuple(retKey, aggOp, pUDAFFunc),
|
||||||
funct->fOutputColumnIndex));
|
funct->fOutputColumnIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
astyle --style=allman --indent=spaces=4 --indent-switches --break-blocks --pad-comma --pad-oper --pad-header --lineend=linux --align-pointer=type --recursive "*.cpp" "*.h"
|
astyle --style=allman --indent=spaces=4 --indent-switches --break-blocks --pad-comma --pad-oper --pad-header --lineend=linux --align-pointer=type --recursive "*.cpp" "*.h"
|
||||||
|
@ -458,6 +458,7 @@
|
|||||||
<JavaHome>unassigned</JavaHome>
|
<JavaHome>unassigned</JavaHome>
|
||||||
<JavaPath>unassigned</JavaPath>
|
<JavaPath>unassigned</JavaPath>
|
||||||
<MySQLPort>3306</MySQLPort>
|
<MySQLPort>3306</MySQLPort>
|
||||||
|
<DistributedInstall>y</DistributedInstall>
|
||||||
</Installation>
|
</Installation>
|
||||||
<ExtentMap>
|
<ExtentMap>
|
||||||
<!--
|
<!--
|
||||||
|
@ -911,6 +911,9 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
cout << "Enter 'mcsmysql' to access the MariaDB ColumnStore SQL console" << endl;
|
cout << "Enter 'mcsmysql' to access the MariaDB ColumnStore SQL console" << endl;
|
||||||
cout << "Enter 'mcsadmin' to access the MariaDB ColumnStore Admin console" << endl << endl;
|
cout << "Enter 'mcsadmin' to access the MariaDB ColumnStore Admin console" << endl << endl;
|
||||||
|
|
||||||
|
cout << "NOTE: The MariaDB ColumnStore Alias Commands are in /etc/profile.d/columnstoreAlias" << endl << endl;
|
||||||
|
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3990,6 +3990,8 @@ int main(int argc, char* argv[])
|
|||||||
cout << "Enter 'mcsmysql' to access the MariaDB ColumnStore SQL console" << endl;
|
cout << "Enter 'mcsmysql' to access the MariaDB ColumnStore SQL console" << endl;
|
||||||
cout << "Enter 'mcsadmin' to access the MariaDB ColumnStore Admin console" << endl << endl;
|
cout << "Enter 'mcsadmin' to access the MariaDB ColumnStore Admin console" << endl << endl;
|
||||||
|
|
||||||
|
cout << "NOTE: The MariaDB ColumnStore Alias Commands are in /etc/profile.d/columnstoreAlias" << endl << endl;
|
||||||
|
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -602,7 +602,7 @@ static void startMgrProcessThread()
|
|||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
log.writeLog(__LINE__, "addModule - ERROR: get DistributedInstall", LOG_TYPE_ERROR);
|
log.writeLog(__LINE__, "ERROR: get DistributedInstall", LOG_TYPE_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Send out a start service just to make sure Columnstore is runing on remote nodes
|
//Send out a start service just to make sure Columnstore is runing on remote nodes
|
||||||
|
@ -5157,7 +5157,7 @@ int ProcessMonitor::changeMyCnf(std::string type)
|
|||||||
{
|
{
|
||||||
*/ //get slave id based on ExeMgrx setup
|
*/ //get slave id based on ExeMgrx setup
|
||||||
string slaveID = "0";
|
string slaveID = "0";
|
||||||
string slaveModuleName = config.moduleName();
|
string localModuleName = config.moduleName();
|
||||||
|
|
||||||
for ( int id = 1 ; ; id++ )
|
for ( int id = 1 ; ; id++ )
|
||||||
{
|
{
|
||||||
@ -5170,37 +5170,9 @@ int ProcessMonitor::changeMyCnf(std::string type)
|
|||||||
Config* sysConfig = Config::makeConfig();
|
Config* sysConfig = Config::makeConfig();
|
||||||
moduleName = sysConfig->getConfig(Section, "Module");
|
moduleName = sysConfig->getConfig(Section, "Module");
|
||||||
|
|
||||||
if ( moduleName == slaveModuleName )
|
if ( moduleName == localModuleName )
|
||||||
{
|
{
|
||||||
slaveID = oam.itoa(id);
|
slaveID = oam.itoa(id);
|
||||||
|
|
||||||
// if slave ID from above is 1, then it means this is a former Original master and use the ID of the current Master
|
|
||||||
if ( slaveID == "1" )
|
|
||||||
{
|
|
||||||
string PrimaryUMModuleName;
|
|
||||||
oam.getSystemConfig("PrimaryUMModuleName", PrimaryUMModuleName);
|
|
||||||
|
|
||||||
for ( int mid = 1 ; ; mid++ )
|
|
||||||
{
|
|
||||||
string Section = "ExeMgr" + oam.itoa(mid);
|
|
||||||
|
|
||||||
string moduleName;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Config* sysConfig = Config::makeConfig();
|
|
||||||
moduleName = sysConfig->getConfig(Section, "Module");
|
|
||||||
|
|
||||||
if ( moduleName == PrimaryUMModuleName )
|
|
||||||
{
|
|
||||||
slaveID = oam.itoa(mid);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (...) {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -220,12 +220,14 @@ int main(int argc, char* argv[])
|
|||||||
string DataRedundancyConfig;
|
string DataRedundancyConfig;
|
||||||
string DataRedundancyCopies;
|
string DataRedundancyCopies;
|
||||||
string DataRedundancyStorageType;
|
string DataRedundancyStorageType;
|
||||||
|
string DataRedundancyNetworkType;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
DataRedundancyConfig = sysConfigOld->getConfig(InstallSection, "DataRedundancyConfig");
|
DataRedundancyConfig = sysConfigOld->getConfig(InstallSection, "DataRedundancyConfig");
|
||||||
DataRedundancyCopies = sysConfigOld->getConfig(InstallSection, "DataRedundancyCopies");
|
DataRedundancyCopies = sysConfigOld->getConfig(InstallSection, "DataRedundancyCopies");
|
||||||
DataRedundancyStorageType = sysConfigOld->getConfig(InstallSection, "DataRedundancyStorageType");
|
DataRedundancyStorageType = sysConfigOld->getConfig(InstallSection, "DataRedundancyStorageType");
|
||||||
|
DataRedundancyNetworkType = sysConfigOld->getConfig(InstallSection, "DataRedundancyNetworkType");
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{}
|
{}
|
||||||
@ -237,6 +239,7 @@ int main(int argc, char* argv[])
|
|||||||
sysConfigNew->setConfig(InstallSection, "DataRedundancyConfig", DataRedundancyConfig);
|
sysConfigNew->setConfig(InstallSection, "DataRedundancyConfig", DataRedundancyConfig);
|
||||||
sysConfigNew->setConfig(InstallSection, "DataRedundancyCopies", DataRedundancyCopies);
|
sysConfigNew->setConfig(InstallSection, "DataRedundancyCopies", DataRedundancyCopies);
|
||||||
sysConfigNew->setConfig(InstallSection, "DataRedundancyStorageType", DataRedundancyStorageType);
|
sysConfigNew->setConfig(InstallSection, "DataRedundancyStorageType", DataRedundancyStorageType);
|
||||||
|
sysConfigNew->setConfig(InstallSection, "DataRedundancyNetworkType", DataRedundancyNetworkType);
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{}
|
{}
|
||||||
@ -1650,6 +1653,24 @@ int main(int argc, char* argv[])
|
|||||||
catch (...)
|
catch (...)
|
||||||
{}
|
{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( !DataRedundancyConfig.empty() )
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string dbrootPMsID = "DBRoot" + oam.itoa(id) + "PMs";
|
||||||
|
string dbrootPMs = sysConfigOld->getConfig("DataRedundancyConfig", dbrootPMsID);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
sysConfigNew->setConfig("DataRedundancyConfig", dbrootPMsID, dbrootPMs);
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
catch (...)
|
||||||
|
{}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (exception& e)
|
catch (exception& e)
|
||||||
|
@ -128,7 +128,7 @@ void WF_lead_lag<T>::parseParms(const std::vector<execplan::SRCP>& parms)
|
|||||||
fLead = 1;
|
fLead = 1;
|
||||||
fRespectNulls = true;
|
fRespectNulls = true;
|
||||||
fDefNull = false;
|
fDefNull = false;
|
||||||
fDefault = (T)0;
|
// fDefault = (T)0; // Won't work for std::string. Default should always be set below.
|
||||||
fOffsetNull = false;
|
fOffsetNull = false;
|
||||||
fOffset = 0;
|
fOffset = 0;
|
||||||
|
|
||||||
|
@ -538,8 +538,8 @@ void* WindowFunctionType::getNullValueByType(int ct, int pos)
|
|||||||
case CalpontSystemCatalog::CHAR:
|
case CalpontSystemCatalog::CHAR:
|
||||||
case CalpontSystemCatalog::VARCHAR:
|
case CalpontSystemCatalog::VARCHAR:
|
||||||
{
|
{
|
||||||
uint64_t len = fRow.getColumnWidth(pos);
|
// uint64_t len = fRow.getColumnWidth(pos);
|
||||||
|
#if 0
|
||||||
switch (len)
|
switch (len)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
@ -567,6 +567,8 @@ void* WindowFunctionType::getNullValueByType(int ct, int pos)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
v = &stringNull;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user