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

MCOL-4519 RefColumn now uses the correct empty value iterating over the block values

This commit is contained in:
Roman Nozdrin
2021-01-29 15:29:39 +00:00
parent 688ba9b544
commit a9b3957182
2 changed files with 5 additions and 4 deletions

View File

@ -707,10 +707,13 @@ int ColumnOp::fillColumn(const TxnID& txnid, Column& column, Column& refCol, voi
config.initConfigCache();
std::vector<uint16_t> rootList;
config.getRootIdList( rootList );
const uint8_t* emptyVal = getEmptyRowValue(column.colDataType,
const uint8_t* emptyVal = getEmptyRowValue(column.colDataType,
column.colWidth);
// Set TypeHandler to get empty value ptr for the ref column
findTypeHandler(refCol.colWidth, refCol.colDataType);
const uint8_t* refEmptyVal = getEmptyRowValue(refCol.colDataType,
refCol.colWidth);
findTypeHandler(column.colWidth, column.colDataType);
//find the dbroots which have rows for refrence column
unsigned int i = 0, k = 0;

View File

@ -711,11 +711,9 @@ int WriteEngineWrapper::fillColumn(const TxnID& txnid, const OID& dataOid,
Convertor::convertColType(refColDataType, refColWidth, refColType, isToken);
refColOp->setColParam(refCol, 0, refColOp->getCorrectRowWidth(refColDataType, refColWidth),
refColDataType, refColType, (FID)refColOID, refCompressionType, dbRoot);
refColOp->findTypeHandler(refColOp->getCorrectRowWidth(refColDataType,
refColWidth),
refColDataType);
colOpNewCol->setColParam(newCol, 0, newDataWidth,
colType.colDataType, newColType, (FID)dataOid, compressionType, dbRoot);
// refColOp and colOpNewCol are the same ptr.
colOpNewCol->findTypeHandler(newDataWidth, colType.colDataType);