From a9b395718262c7d02066ce245d2ea02d356bffbb Mon Sep 17 00:00:00 2001 From: Roman Nozdrin Date: Fri, 29 Jan 2021 15:29:39 +0000 Subject: [PATCH] MCOL-4519 RefColumn now uses the correct empty value iterating over the block values --- writeengine/wrapper/we_colop.cpp | 5 ++++- writeengine/wrapper/writeengine.cpp | 4 +--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/writeengine/wrapper/we_colop.cpp b/writeengine/wrapper/we_colop.cpp index c4ca4944c..9ddb0d795 100644 --- a/writeengine/wrapper/we_colop.cpp +++ b/writeengine/wrapper/we_colop.cpp @@ -707,10 +707,13 @@ int ColumnOp::fillColumn(const TxnID& txnid, Column& column, Column& refCol, voi config.initConfigCache(); std::vector 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; diff --git a/writeengine/wrapper/writeengine.cpp b/writeengine/wrapper/writeengine.cpp index 96fb3a895..a350fc331 100644 --- a/writeengine/wrapper/writeengine.cpp +++ b/writeengine/wrapper/writeengine.cpp @@ -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);