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

MCOL-4791 Fix ColumnCommand fudged data type format to clearly identify CHAR vs VARCHAR

This commit is contained in:
Alexander Barkov
2021-07-02 12:42:03 +04:00
parent ceb73cddcd
commit e8126bede5
22 changed files with 228 additions and 318 deletions

View File

@ -466,7 +466,6 @@ void ColumnCommand::processResult()
void ColumnCommand::createCommand(ByteStream& bs)
{
uint8_t tmp8;
uint32_t tmp32;
bs.advance(1);
bs >> tmp8;
@ -481,16 +480,7 @@ void ColumnCommand::createCommand(ByteStream& bs)
cout << endl;
#endif
bs >> tmp8;
colType.colDataType = (execplan::CalpontSystemCatalog::ColDataType) tmp8;
bs >> tmp8;
colType.colWidth = tmp8;
bs >> tmp8;
colType.scale = tmp8;
bs >> tmp8;
colType.compressionType = tmp8;
bs >> tmp32;
colType.charsetNumber = tmp32;
colType.unserialize(bs);
bs >> BOP;
bs >> filterCount;
deserializeInlineVector(bs, lastLbid);
@ -900,9 +890,7 @@ ColumnCommand& ColumnCommand::operator=(const ColumnCommand& c)
_isScan = c._isScan;
traceFlags = c.traceFlags;
filterString = c.filterString;
colType.colDataType = c.colType.colDataType;
colType.compressionType = c.colType.compressionType;
colType.colWidth = c.colType.colWidth;
colType = c.colType;
BOP = c.BOP;
filterCount = c.filterCount;
fFilterFeeder = c.fFilterFeeder;

View File

@ -62,7 +62,7 @@ public:
{
return filterCount;
}
const execplan::CalpontSystemCatalog::ColType& getColType()
const execplan::ColumnCommandDataType & getColType()
{
return colType;
}
@ -110,7 +110,7 @@ protected:
// we only care about the width and type fields.
//On the PM the rest is uninitialized
execplan::CalpontSystemCatalog::ColType colType;
execplan::ColumnCommandDataType colType;
private:
ColumnCommand(const ColumnCommand&);

View File

@ -246,8 +246,8 @@ SCommand FilterCommand::duplicate()
}
void FilterCommand::setColTypes(const execplan::CalpontSystemCatalog::ColType& left,
const execplan::CalpontSystemCatalog::ColType& right)
void FilterCommand::setColTypes(const execplan::ColumnCommandDataType& left,
const execplan::ColumnCommandDataType& right)
{
leftColType = left;
rightColType = right;

View File

@ -57,8 +57,8 @@ public:
SCommand duplicate();
void prep(int8_t outputType, bool makeAbsRids);
void setColTypes(const execplan::CalpontSystemCatalog::ColType& left,
const execplan::CalpontSystemCatalog::ColType& right);
void setColTypes(const execplan::ColumnCommandDataType& left,
const execplan::ColumnCommandDataType& right);
// operator override
bool operator==(const FilterCommand&) const;
@ -85,8 +85,8 @@ protected:
bool hasWideColumns;
// column type for null check
execplan::CalpontSystemCatalog::ColType leftColType;
execplan::CalpontSystemCatalog::ColType rightColType;
execplan::ColumnCommandDataType leftColType;
execplan::ColumnCommandDataType rightColType;
private:
// disabled copy constructor and operator