1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +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

@ -208,40 +208,17 @@ using namespace execplan;
namespace joblist
{
PassThruStep::PassThruStep(
execplan::CalpontSystemCatalog::OID oid,
execplan::CalpontSystemCatalog::OID tableOid,
const execplan::CalpontSystemCatalog::ColType& colType,
const JobInfo& jobInfo) :
JobStep(jobInfo),
fOid(oid),
fTableOid(tableOid),
isEM(jobInfo.isExeMgr),
fSwallowRows(false),
fRm(jobInfo.rm)
{
colWidth = colType.colWidth;
realWidth = colType.colWidth;
isDictColumn = ((colType.colDataType == CalpontSystemCatalog::VARCHAR && colType.colWidth > 7)
|| (colType.colDataType == CalpontSystemCatalog::CHAR && colType.colWidth > 8)
|| (colType.colDataType == CalpontSystemCatalog::TEXT)
|| (colType.colDataType == CalpontSystemCatalog::BLOB));
fColType = colType;
fPseudoType = 0;
}
PassThruStep::PassThruStep(const pColStep& rhs) : JobStep(rhs), fRm(rhs.fRm)
PassThruStep::PassThruStep(const pColStep& rhs)
:JobStep(rhs),
fColType(rhs.colType()),
fRm(rhs.fRm)
{
fInputJobStepAssociation = rhs.inputAssociation();
fOutputJobStepAssociation = rhs.outputAssociation();
colWidth = rhs.fColType.colWidth;
realWidth = rhs.realWidth;
fOid = rhs.oid();
fTableOid = rhs.tableOid();
fSwallowRows = rhs.getSwallowRows();
isDictColumn = rhs.isDictCol();
fColType = rhs.colType();
isEM = rhs.isExeMgr();
const PseudoColStep* pcs = dynamic_cast<const PseudoColStep*>(&rhs);
@ -251,17 +228,17 @@ PassThruStep::PassThruStep(const pColStep& rhs) : JobStep(rhs), fRm(rhs.fRm)
}
PassThruStep::PassThruStep(const PseudoColStep& rhs) : JobStep(rhs), fRm(rhs.fRm)
PassThruStep::PassThruStep(const PseudoColStep& rhs)
:JobStep(rhs),
fColType(rhs.colType()),
fRm(rhs.fRm)
{
fInputJobStepAssociation = rhs.inputAssociation();
fOutputJobStepAssociation = rhs.outputAssociation();
colWidth = rhs.fColType.colWidth;
realWidth = rhs.realWidth;
fOid = rhs.oid();
fTableOid = rhs.tableOid();
fSwallowRows = rhs.getSwallowRows();
isDictColumn = rhs.isDictCol();
fColType = rhs.colType();
fPseudoType = rhs.pseudoColumnId();
isEM = rhs.isExeMgr();
}