You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-02 17:46:37 +03:00
Fully resolve potentially ambiguous symbols by removing using namespace statements from headers which have a cascading effect. This causes potential behavior changes when switching to c++11 since symbols can be exported from std and boost while both have been imported into the global namespace.
This commit is contained in:
@ -1929,7 +1929,7 @@ void RowAggregation::doUDAF(const Row& rowIn, int64_t colIn, int64_t colOut,
|
||||
// The vector of parameters to be sent to the UDAF
|
||||
mcsv1sdk::ColumnDatum valsIn[paramCount];
|
||||
uint32_t dataFlags[paramCount];
|
||||
ConstantColumn* cc;
|
||||
execplan::ConstantColumn* cc;
|
||||
bool bIsNull = false;
|
||||
execplan::CalpontSystemCatalog::ColDataType colDataType;
|
||||
|
||||
@ -1945,10 +1945,10 @@ void RowAggregation::doUDAF(const Row& rowIn, int64_t colIn, int64_t colOut,
|
||||
|
||||
if (fFunctionCols[funcColsIdx]->fpConstCol)
|
||||
{
|
||||
cc = dynamic_cast<ConstantColumn*>(fFunctionCols[funcColsIdx]->fpConstCol.get());
|
||||
cc = dynamic_cast<execplan::ConstantColumn*>(fFunctionCols[funcColsIdx]->fpConstCol.get());
|
||||
}
|
||||
|
||||
if ((cc && cc->type() == ConstantColumn::NULLDATA)
|
||||
if ((cc && cc->type() == execplan::ConstantColumn::NULLDATA)
|
||||
|| (!cc && isNull(&fRowGroupIn, rowIn, colIn) == true))
|
||||
{
|
||||
if (fRGContext.getRunFlag(mcsv1sdk::UDAF_IGNORE_NULLS))
|
||||
@ -3706,7 +3706,7 @@ void RowAggregationUM::doNotNullConstantAggregate(const ConstantAggData& aggData
|
||||
|
||||
// Create a datum item for sending to UDAF
|
||||
mcsv1sdk::ColumnDatum& datum = valsIn[0];
|
||||
datum.dataType = (CalpontSystemCatalog::ColDataType)colDataType;
|
||||
datum.dataType = (execplan::CalpontSystemCatalog::ColDataType)colDataType;
|
||||
|
||||
switch (colDataType)
|
||||
{
|
||||
|
@ -207,7 +207,7 @@ struct RowAggFunctionCol
|
||||
// The first will be a RowUDAFFunctionCol. Subsequent ones will be RowAggFunctionCol
|
||||
// with fAggFunction == ROWAGG_MULTI_PARM. Order is important.
|
||||
// If this parameter is constant, that value is here.
|
||||
SRCP fpConstCol;
|
||||
execplan::SRCP fpConstCol;
|
||||
};
|
||||
|
||||
|
||||
@ -272,7 +272,7 @@ inline void RowAggFunctionCol::deserialize(messageqcpp::ByteStream& bs)
|
||||
|
||||
if (t)
|
||||
{
|
||||
fpConstCol.reset(new ConstantColumn);
|
||||
fpConstCol.reset(new execplan::ConstantColumn);
|
||||
fpConstCol.get()->unserialize(bs);
|
||||
}
|
||||
}
|
||||
|
@ -59,7 +59,6 @@
|
||||
#include "../winport/winport.h"
|
||||
|
||||
// Workaround for my_global.h #define of isnan(X) causing a std::std namespace
|
||||
using namespace std;
|
||||
|
||||
namespace rowgroup
|
||||
{
|
||||
@ -1028,7 +1027,7 @@ inline void Row::setFloatField(float val, uint32_t colIndex)
|
||||
//N.B. There is a bug in boost::any or in gcc where, if you store a nan, you will get back a nan,
|
||||
// but not necessarily the same bits that you put in. This only seems to be for float (double seems
|
||||
// to work).
|
||||
if (isnan(val))
|
||||
if (std::isnan(val))
|
||||
setUintField<4>(joblist::FLOATNULL, colIndex);
|
||||
else
|
||||
*((float*) &data[offsets[colIndex]]) = val;
|
||||
|
Reference in New Issue
Block a user