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
MCOL-4519 RefColumn now uses the correct empty value iterating over the block values
This commit is contained in:
@ -707,10 +707,13 @@ int ColumnOp::fillColumn(const TxnID& txnid, Column& column, Column& refCol, voi
|
|||||||
config.initConfigCache();
|
config.initConfigCache();
|
||||||
std::vector<uint16_t> rootList;
|
std::vector<uint16_t> rootList;
|
||||||
config.getRootIdList( rootList );
|
config.getRootIdList( rootList );
|
||||||
const uint8_t* emptyVal = getEmptyRowValue(column.colDataType,
|
const uint8_t* emptyVal = getEmptyRowValue(column.colDataType,
|
||||||
column.colWidth);
|
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,
|
const uint8_t* refEmptyVal = getEmptyRowValue(refCol.colDataType,
|
||||||
refCol.colWidth);
|
refCol.colWidth);
|
||||||
|
findTypeHandler(column.colWidth, column.colDataType);
|
||||||
//find the dbroots which have rows for refrence column
|
//find the dbroots which have rows for refrence column
|
||||||
unsigned int i = 0, k = 0;
|
unsigned int i = 0, k = 0;
|
||||||
|
|
||||||
|
@ -711,11 +711,9 @@ int WriteEngineWrapper::fillColumn(const TxnID& txnid, const OID& dataOid,
|
|||||||
Convertor::convertColType(refColDataType, refColWidth, refColType, isToken);
|
Convertor::convertColType(refColDataType, refColWidth, refColType, isToken);
|
||||||
refColOp->setColParam(refCol, 0, refColOp->getCorrectRowWidth(refColDataType, refColWidth),
|
refColOp->setColParam(refCol, 0, refColOp->getCorrectRowWidth(refColDataType, refColWidth),
|
||||||
refColDataType, refColType, (FID)refColOID, refCompressionType, dbRoot);
|
refColDataType, refColType, (FID)refColOID, refCompressionType, dbRoot);
|
||||||
refColOp->findTypeHandler(refColOp->getCorrectRowWidth(refColDataType,
|
|
||||||
refColWidth),
|
|
||||||
refColDataType);
|
|
||||||
colOpNewCol->setColParam(newCol, 0, newDataWidth,
|
colOpNewCol->setColParam(newCol, 0, newDataWidth,
|
||||||
colType.colDataType, newColType, (FID)dataOid, compressionType, dbRoot);
|
colType.colDataType, newColType, (FID)dataOid, compressionType, dbRoot);
|
||||||
|
// refColOp and colOpNewCol are the same ptr.
|
||||||
colOpNewCol->findTypeHandler(newDataWidth, colType.colDataType);
|
colOpNewCol->findTypeHandler(newDataWidth, colType.colDataType);
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user