You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Reformat all code to coding standard
This commit is contained in:
@ -33,48 +33,49 @@ using namespace messageqcpp;
|
||||
#include "dataconvert.h"
|
||||
#include "calpontsystemcatalog.h"
|
||||
|
||||
namespace execplan {
|
||||
namespace execplan
|
||||
{
|
||||
/**
|
||||
* Constructors/Destructors
|
||||
*/
|
||||
ConstantColumn::ConstantColumn() :
|
||||
ReturnedColumn(),
|
||||
fType(0)
|
||||
ReturnedColumn(),
|
||||
fType(0)
|
||||
{
|
||||
}
|
||||
|
||||
ConstantColumn::ConstantColumn(const string& sql, TYPE type) :
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(type),
|
||||
fData(sql)
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(type),
|
||||
fData(sql)
|
||||
{
|
||||
fResult.strVal = sql;
|
||||
|
||||
if (type == LITERAL && sql.length() < 9)
|
||||
{
|
||||
memcpy(tmp, sql.c_str(), sql.length());
|
||||
memset(tmp+sql.length(), 0, 8);
|
||||
fResult.uintVal = uint64ToStr(*((uint64_t *) tmp));
|
||||
fResult.intVal = (int64_t)fResult.uintVal;
|
||||
}
|
||||
else
|
||||
{
|
||||
fResult.intVal = atoll(sql.c_str());
|
||||
fResult.uintVal = strtoull(sql.c_str(), NULL, 0);
|
||||
}
|
||||
|
||||
fResult.floatVal = atof(sql.c_str());
|
||||
fResult.doubleVal = atof(sql.c_str());
|
||||
|
||||
// decimal for constant should be constructed by the caller and call the decimal constructor
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResult.decimalVal.precision = 18;
|
||||
fResult.strVal = sql;
|
||||
|
||||
// @bug 3381, default null item to integer type.
|
||||
if (fType == ConstantColumn::NULLDATA)
|
||||
{
|
||||
if (type == LITERAL && sql.length() < 9)
|
||||
{
|
||||
memcpy(tmp, sql.c_str(), sql.length());
|
||||
memset(tmp + sql.length(), 0, 8);
|
||||
fResult.uintVal = uint64ToStr(*((uint64_t*) tmp));
|
||||
fResult.intVal = (int64_t)fResult.uintVal;
|
||||
}
|
||||
else
|
||||
{
|
||||
fResult.intVal = atoll(sql.c_str());
|
||||
fResult.uintVal = strtoull(sql.c_str(), NULL, 0);
|
||||
}
|
||||
|
||||
fResult.floatVal = atof(sql.c_str());
|
||||
fResult.doubleVal = atof(sql.c_str());
|
||||
|
||||
// decimal for constant should be constructed by the caller and call the decimal constructor
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResult.decimalVal.precision = 18;
|
||||
|
||||
// @bug 3381, default null item to integer type.
|
||||
if (fType == ConstantColumn::NULLDATA)
|
||||
{
|
||||
if (fResult.uintVal > (uint64_t)MAX_BIGINT)
|
||||
{
|
||||
fResultType.colDataType = CalpontSystemCatalog::UBIGINT;
|
||||
@ -83,84 +84,85 @@ ConstantColumn::ConstantColumn(const string& sql, TYPE type) :
|
||||
{
|
||||
fResultType.colDataType = CalpontSystemCatalog::BIGINT;
|
||||
}
|
||||
fResultType.colWidth = 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
fResultType.colDataType = CalpontSystemCatalog::VARCHAR;
|
||||
fResultType.colWidth = sql.length();
|
||||
}
|
||||
|
||||
fResultType.colWidth = 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
fResultType.colDataType = CalpontSystemCatalog::VARCHAR;
|
||||
fResultType.colWidth = sql.length();
|
||||
}
|
||||
}
|
||||
|
||||
ConstantColumn::ConstantColumn(const string& sql, const double val) :
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(NUM),
|
||||
fData(sql)
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(NUM),
|
||||
fData(sql)
|
||||
{
|
||||
fResult.strVal = sql;
|
||||
fResult.doubleVal = val;
|
||||
fResult.intVal = (int64_t)val;
|
||||
fResult.uintVal = (uint64_t)val;
|
||||
fResult.floatVal = (float)val;
|
||||
// decimal for constant should be constructed by the caller and call the decimal constructor
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResult.decimalVal.precision = 18;
|
||||
fResultType.colDataType = CalpontSystemCatalog::DOUBLE;
|
||||
fResultType.colWidth = 8;
|
||||
fResult.strVal = sql;
|
||||
fResult.doubleVal = val;
|
||||
fResult.intVal = (int64_t)val;
|
||||
fResult.uintVal = (uint64_t)val;
|
||||
fResult.floatVal = (float)val;
|
||||
// decimal for constant should be constructed by the caller and call the decimal constructor
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResult.decimalVal.precision = 18;
|
||||
fResultType.colDataType = CalpontSystemCatalog::DOUBLE;
|
||||
fResultType.colWidth = 8;
|
||||
}
|
||||
|
||||
|
||||
ConstantColumn::ConstantColumn(const string& sql, const int64_t val, TYPE type) :
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(type),
|
||||
fData(sql)
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(type),
|
||||
fData(sql)
|
||||
{
|
||||
fResult.strVal = sql;
|
||||
fResult.intVal = val;
|
||||
fResult.uintVal = (uint64_t)fResult.intVal;
|
||||
fResult.floatVal = (float)fResult.intVal;
|
||||
fResult.doubleVal = (double)fResult.intVal;
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::BIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
fResult.strVal = sql;
|
||||
fResult.intVal = val;
|
||||
fResult.uintVal = (uint64_t)fResult.intVal;
|
||||
fResult.floatVal = (float)fResult.intVal;
|
||||
fResult.doubleVal = (double)fResult.intVal;
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::BIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
}
|
||||
|
||||
ConstantColumn::ConstantColumn(const string& sql, const uint64_t val, TYPE type) :
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(type),
|
||||
fData(sql)
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(type),
|
||||
fData(sql)
|
||||
{
|
||||
fResult.strVal = sql;
|
||||
fResult.uintVal = val;
|
||||
fResult.intVal = (int64_t)fResult.uintVal;
|
||||
fResult.floatVal = (float)fResult.uintVal;
|
||||
fResult.doubleVal = (double)fResult.uintVal;
|
||||
fResult.decimalVal.value = fResult.uintVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::UBIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
fResult.strVal = sql;
|
||||
fResult.uintVal = val;
|
||||
fResult.intVal = (int64_t)fResult.uintVal;
|
||||
fResult.floatVal = (float)fResult.uintVal;
|
||||
fResult.doubleVal = (double)fResult.uintVal;
|
||||
fResult.decimalVal.value = fResult.uintVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::UBIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
}
|
||||
|
||||
ConstantColumn::ConstantColumn(const string& sql, const IDB_Decimal& val) :
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(NUM),
|
||||
fData(sql)
|
||||
ReturnedColumn(),
|
||||
fConstval(sql),
|
||||
fType(NUM),
|
||||
fData(sql)
|
||||
{
|
||||
fResult.strVal = sql;
|
||||
fResult.intVal = (int64_t)atoll(sql.c_str());
|
||||
fResult.strVal = sql;
|
||||
fResult.intVal = (int64_t)atoll(sql.c_str());
|
||||
fResult.uintVal = strtoull(sql.c_str(), NULL, 0);
|
||||
fResult.floatVal = atof(sql.c_str());
|
||||
fResult.doubleVal = atof(sql.c_str());
|
||||
fResult.decimalVal = val;
|
||||
fResultType.colDataType = CalpontSystemCatalog::DECIMAL;
|
||||
fResultType.colWidth = 8;
|
||||
fResultType.scale = val.scale;
|
||||
fResultType.precision = val.precision;
|
||||
fResult.floatVal = atof(sql.c_str());
|
||||
fResult.doubleVal = atof(sql.c_str());
|
||||
fResult.decimalVal = val;
|
||||
fResultType.colDataType = CalpontSystemCatalog::DECIMAL;
|
||||
fResultType.colWidth = 8;
|
||||
fResultType.scale = val.scale;
|
||||
fResultType.precision = val.precision;
|
||||
}
|
||||
|
||||
ConstantColumn::ConstantColumn( const ConstantColumn& rhs):
|
||||
@ -174,186 +176,201 @@ ConstantColumn::ConstantColumn( const ConstantColumn& rhs):
|
||||
fResult = rhs.fResult;
|
||||
fResultType = rhs.fResultType;
|
||||
|
||||
if (fRegex.get() != NULL)
|
||||
{
|
||||
fRegex.reset(new CNX_Regex());
|
||||
if (fRegex.get() != NULL)
|
||||
{
|
||||
fRegex.reset(new CNX_Regex());
|
||||
#ifdef _MSC_VER
|
||||
*fRegex = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
*fRegex = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
#else
|
||||
string str = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
regcomp(fRegex.get(), str.c_str(), REG_NOSUB | REG_EXTENDED);
|
||||
string str = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
regcomp(fRegex.get(), str.c_str(), REG_NOSUB | REG_EXTENDED);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ConstantColumn::ConstantColumn(const int64_t val, TYPE type) :
|
||||
ReturnedColumn(),
|
||||
fType(type)
|
||||
ReturnedColumn(),
|
||||
fType(type)
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << val;
|
||||
fConstval = oss.str();
|
||||
fData = oss.str();
|
||||
fResult.strVal = fData;
|
||||
fResult.intVal = val;
|
||||
fResult.uintVal = (uint64_t)fResult.intVal;
|
||||
fResult.floatVal = (float)fResult.intVal;
|
||||
fResult.doubleVal = (double)fResult.intVal;
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::BIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
ostringstream oss;
|
||||
oss << val;
|
||||
fConstval = oss.str();
|
||||
fData = oss.str();
|
||||
fResult.strVal = fData;
|
||||
fResult.intVal = val;
|
||||
fResult.uintVal = (uint64_t)fResult.intVal;
|
||||
fResult.floatVal = (float)fResult.intVal;
|
||||
fResult.doubleVal = (double)fResult.intVal;
|
||||
fResult.decimalVal.value = fResult.intVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::BIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
}
|
||||
|
||||
ConstantColumn::ConstantColumn(const uint64_t val, TYPE type) :
|
||||
ReturnedColumn(),
|
||||
fType(type)
|
||||
ReturnedColumn(),
|
||||
fType(type)
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << val;
|
||||
fConstval = oss.str();
|
||||
fData = oss.str();
|
||||
fResult.strVal = fData;
|
||||
fResult.intVal = (int64_t)val;
|
||||
fResult.uintVal = val;
|
||||
fResult.floatVal = (float)fResult.uintVal;
|
||||
fResult.doubleVal = (double)fResult.uintVal;
|
||||
fResult.decimalVal.value = fResult.uintVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::UBIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
ostringstream oss;
|
||||
oss << val;
|
||||
fConstval = oss.str();
|
||||
fData = oss.str();
|
||||
fResult.strVal = fData;
|
||||
fResult.intVal = (int64_t)val;
|
||||
fResult.uintVal = val;
|
||||
fResult.floatVal = (float)fResult.uintVal;
|
||||
fResult.doubleVal = (double)fResult.uintVal;
|
||||
fResult.decimalVal.value = fResult.uintVal;
|
||||
fResult.decimalVal.scale = 0;
|
||||
fResultType.colDataType = CalpontSystemCatalog::UBIGINT;
|
||||
fResultType.colWidth = 8;
|
||||
}
|
||||
|
||||
ConstantColumn::~ConstantColumn()
|
||||
{
|
||||
#ifndef _MSC_VER
|
||||
if (fRegex.get() != NULL)
|
||||
regfree(fRegex.get());
|
||||
|
||||
if (fRegex.get() != NULL)
|
||||
regfree(fRegex.get());
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
const string ConstantColumn::toString() const
|
||||
{
|
||||
ostringstream oss;
|
||||
oss << "ConstantColumn: " << fConstval << " intVal=" << fResult.intVal << " uintVal=" << fResult.uintVal;
|
||||
oss << '(';
|
||||
if (fType == LITERAL)
|
||||
oss << 'l';
|
||||
else if (fType == NUM)
|
||||
oss << 'n';
|
||||
else
|
||||
oss << "null";
|
||||
oss << ')';
|
||||
oss << " resultType=" << colDataTypeToString(fResultType.colDataType);
|
||||
if (fAlias.length() > 0) oss << "/Alias: " << fAlias;
|
||||
return oss.str();
|
||||
ostringstream oss;
|
||||
oss << "ConstantColumn: " << fConstval << " intVal=" << fResult.intVal << " uintVal=" << fResult.uintVal;
|
||||
oss << '(';
|
||||
|
||||
if (fType == LITERAL)
|
||||
oss << 'l';
|
||||
else if (fType == NUM)
|
||||
oss << 'n';
|
||||
else
|
||||
oss << "null";
|
||||
|
||||
oss << ')';
|
||||
oss << " resultType=" << colDataTypeToString(fResultType.colDataType);
|
||||
|
||||
if (fAlias.length() > 0) oss << "/Alias: " << fAlias;
|
||||
|
||||
return oss.str();
|
||||
}
|
||||
|
||||
const string ConstantColumn::data() const
|
||||
{
|
||||
return fData;
|
||||
return fData;
|
||||
}
|
||||
|
||||
ostream& operator<<(ostream& output, const ConstantColumn& rhs)
|
||||
{
|
||||
output << rhs.toString();
|
||||
output << rhs.toString();
|
||||
|
||||
return output;
|
||||
return output;
|
||||
}
|
||||
|
||||
void ConstantColumn::serialize(messageqcpp::ByteStream& b) const
|
||||
{
|
||||
|
||||
b << (ObjectReader::id_t) ObjectReader::CONSTANTCOLUMN;
|
||||
ReturnedColumn::serialize(b);
|
||||
b << fConstval;
|
||||
b << (uint32_t) fType;
|
||||
//b << fAlias;
|
||||
b << fData;
|
||||
b << static_cast<const ByteStream::doublebyte>(fReturnAll);
|
||||
b << (uint64_t)fResult.intVal;
|
||||
b << fResult.uintVal;
|
||||
b << (*(uint64_t*)(&fResult.doubleVal));
|
||||
b << (*(uint32_t*)(&fResult.floatVal));
|
||||
b << (uint8_t)fResult.boolVal;
|
||||
b << fResult.strVal;
|
||||
b << (uint64_t)fResult.decimalVal.value;
|
||||
b << (uint8_t)fResult.decimalVal.scale;
|
||||
b << (uint8_t)fResult.decimalVal.precision;
|
||||
|
||||
b << (ObjectReader::id_t) ObjectReader::CONSTANTCOLUMN;
|
||||
ReturnedColumn::serialize(b);
|
||||
b << fConstval;
|
||||
b << (uint32_t) fType;
|
||||
//b << fAlias;
|
||||
b << fData;
|
||||
b << static_cast<const ByteStream::doublebyte>(fReturnAll);
|
||||
b << (uint64_t)fResult.intVal;
|
||||
b << fResult.uintVal;
|
||||
b << (*(uint64_t*)(&fResult.doubleVal));
|
||||
b << (*(uint32_t*)(&fResult.floatVal));
|
||||
b << (uint8_t)fResult.boolVal;
|
||||
b << fResult.strVal;
|
||||
b << (uint64_t)fResult.decimalVal.value;
|
||||
b << (uint8_t)fResult.decimalVal.scale;
|
||||
b << (uint8_t)fResult.decimalVal.precision;
|
||||
}
|
||||
|
||||
void ConstantColumn::unserialize(messageqcpp::ByteStream& b)
|
||||
{
|
||||
|
||||
ObjectReader::checkType(b, ObjectReader::CONSTANTCOLUMN);
|
||||
ReturnedColumn::unserialize(b);
|
||||
//uint64_t val;
|
||||
|
||||
b >> fConstval;
|
||||
b >> (uint32_t&) fType;
|
||||
b >> fData;
|
||||
b >> reinterpret_cast< ByteStream::doublebyte&>(fReturnAll);
|
||||
b >> (uint64_t&)fResult.intVal;
|
||||
b >> fResult.uintVal;
|
||||
b >> (uint64_t&)fResult.doubleVal;
|
||||
b >> (uint32_t&)fResult.floatVal;
|
||||
b >> (uint8_t&)fResult.boolVal;
|
||||
b >> fResult.strVal;
|
||||
b >> (uint64_t&)fResult.decimalVal.value;
|
||||
b >> (uint8_t&)fResult.decimalVal.scale;
|
||||
b >> (uint8_t&)fResult.decimalVal.precision;
|
||||
|
||||
ObjectReader::checkType(b, ObjectReader::CONSTANTCOLUMN);
|
||||
ReturnedColumn::unserialize(b);
|
||||
//uint64_t val;
|
||||
|
||||
b >> fConstval;
|
||||
b >> (uint32_t&) fType;
|
||||
b >> fData;
|
||||
b >> reinterpret_cast< ByteStream::doublebyte&>(fReturnAll);
|
||||
b >> (uint64_t&)fResult.intVal;
|
||||
b >> fResult.uintVal;
|
||||
b >> (uint64_t&)fResult.doubleVal;
|
||||
b >> (uint32_t&)fResult.floatVal;
|
||||
b >> (uint8_t&)fResult.boolVal;
|
||||
b >> fResult.strVal;
|
||||
b >> (uint64_t&)fResult.decimalVal.value;
|
||||
b >> (uint8_t&)fResult.decimalVal.scale;
|
||||
b >> (uint8_t&)fResult.decimalVal.precision;
|
||||
}
|
||||
|
||||
bool ConstantColumn::operator==(const ConstantColumn& t) const
|
||||
{
|
||||
const ReturnedColumn *rc1, *rc2;
|
||||
const ReturnedColumn* rc1, *rc2;
|
||||
|
||||
rc1 = static_cast<const ReturnedColumn*>(this);
|
||||
rc2 = static_cast<const ReturnedColumn*>(&t);
|
||||
if (*rc1 != *rc2)
|
||||
return false;
|
||||
if (fConstval != t.fConstval)
|
||||
return false;
|
||||
if (fType != t.fType)
|
||||
return false;
|
||||
if (fAlias != t.fAlias)
|
||||
return false;
|
||||
if (fData != t.fData)
|
||||
return false;
|
||||
if (fReturnAll != t.fReturnAll)
|
||||
return false;
|
||||
return true;
|
||||
rc1 = static_cast<const ReturnedColumn*>(this);
|
||||
rc2 = static_cast<const ReturnedColumn*>(&t);
|
||||
|
||||
if (*rc1 != *rc2)
|
||||
return false;
|
||||
|
||||
if (fConstval != t.fConstval)
|
||||
return false;
|
||||
|
||||
if (fType != t.fType)
|
||||
return false;
|
||||
|
||||
if (fAlias != t.fAlias)
|
||||
return false;
|
||||
|
||||
if (fData != t.fData)
|
||||
return false;
|
||||
|
||||
if (fReturnAll != t.fReturnAll)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConstantColumn::operator==(const TreeNode* t) const
|
||||
{
|
||||
const ConstantColumn *o;
|
||||
const ConstantColumn* o;
|
||||
|
||||
o = dynamic_cast<const ConstantColumn*>(t);
|
||||
if (o == NULL)
|
||||
return false;
|
||||
return *this == *o;
|
||||
o = dynamic_cast<const ConstantColumn*>(t);
|
||||
|
||||
if (o == NULL)
|
||||
return false;
|
||||
|
||||
return *this == *o;
|
||||
}
|
||||
|
||||
bool ConstantColumn::operator!=(const ConstantColumn& t) const
|
||||
{
|
||||
return (!(*this == t));
|
||||
return (!(*this == t));
|
||||
}
|
||||
|
||||
bool ConstantColumn::operator!=(const TreeNode* t) const
|
||||
{
|
||||
return (!(*this == t));
|
||||
return (!(*this == t));
|
||||
}
|
||||
|
||||
void ConstantColumn::constructRegex()
|
||||
{
|
||||
//fRegex = new regex_t();
|
||||
fRegex.reset(new CNX_Regex());
|
||||
//fRegex = new regex_t();
|
||||
fRegex.reset(new CNX_Regex());
|
||||
#ifdef _MSC_VER
|
||||
*fRegex = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
*fRegex = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
#else
|
||||
string str = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
regcomp(fRegex.get(), str.c_str(), REG_NOSUB | REG_EXTENDED);
|
||||
string str = dataconvert::DataConvert::constructRegexp(fResult.strVal);
|
||||
regcomp(fRegex.get(), str.c_str(), REG_NOSUB | REG_EXTENDED);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user