You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
Merge branch 'develop-1.1' into 1.1-merge-up-2018-11-08
This commit is contained in:
@ -2165,6 +2165,7 @@ int main(int argc, char* argv[])
|
|||||||
string PmMaxMemorySmallSide;
|
string PmMaxMemorySmallSide;
|
||||||
string ThreadPoolSize;
|
string ThreadPoolSize;
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ColScanReadAheadBlocks = sysConfigOld->getConfig("PrimitiveServers", "ColScanReadAheadBlocks");
|
ColScanReadAheadBlocks = sysConfigOld->getConfig("PrimitiveServers", "ColScanReadAheadBlocks");
|
||||||
|
@ -55,11 +55,14 @@ string Func_concat::getStrVal(Row& row,
|
|||||||
bool& isNull,
|
bool& isNull,
|
||||||
CalpontSystemCatalog::ColType&)
|
CalpontSystemCatalog::ColType&)
|
||||||
{
|
{
|
||||||
string ret = stringValue(parm[0], row, isNull);
|
string ret;
|
||||||
|
string tmp;
|
||||||
|
stringValue(parm[0], row, isNull, ret);
|
||||||
|
|
||||||
for ( unsigned int id = 1 ; id < parm.size() ; id++)
|
for ( unsigned int id = 1 ; id < parm.size() ; id++)
|
||||||
{
|
{
|
||||||
ret.append( stringValue(parm[id], row, isNull) );
|
stringValue(parm[id], row, isNull, tmp);
|
||||||
|
ret.append(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -49,8 +49,8 @@ string Func_concat_ws::getStrVal(Row& row,
|
|||||||
bool& isNull,
|
bool& isNull,
|
||||||
CalpontSystemCatalog::ColType&)
|
CalpontSystemCatalog::ColType&)
|
||||||
{
|
{
|
||||||
string delim = stringValue(parm[0], row, isNull);
|
string delim;
|
||||||
|
stringValue(parm[0], row, isNull, delim);
|
||||||
if (isNull)
|
if (isNull)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
@ -63,8 +63,8 @@ string Func_concat_ws::getStrVal(Row& row,
|
|||||||
|
|
||||||
for ( unsigned int id = 1 ; id < parm.size() ; id++)
|
for ( unsigned int id = 1 ; id < parm.size() ; id++)
|
||||||
{
|
{
|
||||||
string tstr = stringValue(parm[id], row, isNull);
|
string tstr;
|
||||||
|
stringValue(parm[id], row, isNull, tstr);
|
||||||
if (isNull)
|
if (isNull)
|
||||||
{
|
{
|
||||||
isNull = false;
|
isNull = false;
|
||||||
@ -94,10 +94,11 @@ string Func_concat_ws::getStrVal(Row& row,
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
string str;
|
string str;
|
||||||
|
string tmp;
|
||||||
for ( uint32_t i = 1 ; i < parm.size() ; i++)
|
for ( uint32_t i = 1 ; i < parm.size() ; i++)
|
||||||
{
|
{
|
||||||
str += string(stringValue(parm[i], row, isNull).c_str());
|
string(stringValue(parm[i], row, isNull).c_str(), tmp);
|
||||||
|
str += tmp;
|
||||||
|
|
||||||
if (isNull)
|
if (isNull)
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,9 @@ string Func_elt::getStrVal(rowgroup::Row& row,
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
return stringValue(parm[number], row, isNull);
|
std::string ret;
|
||||||
|
stringValue(parm[number], row, isNull, ret);
|
||||||
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,13 +88,13 @@ std::string Func_insert::getStrVal(rowgroup::Row& row,
|
|||||||
bool& isNull,
|
bool& isNull,
|
||||||
execplan::CalpontSystemCatalog::ColType&)
|
execplan::CalpontSystemCatalog::ColType&)
|
||||||
{
|
{
|
||||||
const string& tstr = stringValue(fp[0], row, isNull);
|
string tstr;
|
||||||
|
stringValue(fp[0], row, isNull, tstr);
|
||||||
if (isNull)
|
if (isNull)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
const string& tnewstr = stringValue(fp[3], row, isNull);
|
string tnewstr;
|
||||||
|
stringValue(fp[3], row, isNull, tnewstr);
|
||||||
if (isNull)
|
if (isNull)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
|
@ -61,7 +61,9 @@ std::string Func_repeat::getStrVal(rowgroup::Row& row,
|
|||||||
bool& isNull,
|
bool& isNull,
|
||||||
execplan::CalpontSystemCatalog::ColType& op_ct)
|
execplan::CalpontSystemCatalog::ColType& op_ct)
|
||||||
{
|
{
|
||||||
string str = stringValue(fp[0], row, isNull);
|
string str;
|
||||||
|
|
||||||
|
stringValue(fp[0], row, isNull, str);
|
||||||
|
|
||||||
if (str.empty() || str == "")
|
if (str.empty() || str == "")
|
||||||
return "";
|
return "";
|
||||||
|
@ -65,7 +65,8 @@ std::string Func_reverse::getStrVal(rowgroup::Row& row,
|
|||||||
bool& isNull,
|
bool& isNull,
|
||||||
execplan::CalpontSystemCatalog::ColType&)
|
execplan::CalpontSystemCatalog::ColType&)
|
||||||
{
|
{
|
||||||
string str = stringValue(fp[0], row, isNull);
|
string str;
|
||||||
|
stringValue(fp[0], row, isNull, str);
|
||||||
|
|
||||||
// We used to reverse in the string buffer, but that doesn't
|
// We used to reverse in the string buffer, but that doesn't
|
||||||
// work for all compilers as some re-use the buffer on simple
|
// work for all compilers as some re-use the buffer on simple
|
||||||
|
@ -100,7 +100,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
const std::string& stringValue(execplan::SPTP& fp, rowgroup::Row& row, bool& isNull)
|
const void stringValue(execplan::SPTP& fp, rowgroup::Row& row, bool& isNull, std::string& fFloatStr)
|
||||||
{
|
{
|
||||||
// Bug3788, use the shorter of fixed or scientific notation for floating point values.
|
// Bug3788, use the shorter of fixed or scientific notation for floating point values.
|
||||||
// [ the default format in treenode.h is fixed-point notation ]
|
// [ the default format in treenode.h is fixed-point notation ]
|
||||||
@ -120,7 +120,8 @@ protected:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return fp->data()->getStrVal(row, isNull);
|
fFloatStr = fp->data()->getStrVal(row, isNull);
|
||||||
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,10 +141,7 @@ protected:
|
|||||||
fFloatStr += buf;
|
fFloatStr += buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
return fFloatStr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string fFloatStr;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user