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

MCOL-641 PoC version for DECIMAL(38) using BINARY as a basis.

This commit is contained in:
Roman Nozdrin
2019-10-29 01:21:17 -05:00
parent 32f6167067
commit c9f42fb5cc
16 changed files with 70 additions and 40 deletions

View File

@ -1687,9 +1687,9 @@ int ColumnOp::writeRow(Column& curCol, uint64_t totalRow, const RID* rowIdArray,
break;
case WriteEngine::WR_BINARY:
case WriteEngine::WR_BCDECIMAL:
if (!bDelete) pVal = (uint8_t*) valArray + i * curCol.colWidth;
//pOldVal = (uint8_t*) oldValArray + i * curCol.colWidth;
break;
default :

View File

@ -503,6 +503,7 @@ void WriteEngineWrapper::convertValue(const ColType colType, void* valArray, con
break;
case WriteEngine::WR_BINARY:
case WriteEngine::WR_BCDECIMAL:
curStr = boost::any_cast<string>(data);
memcpy((char*)valArray + pos * curStr.length(), curStr.c_str(), curStr.length());
break;
@ -5157,6 +5158,7 @@ int WriteEngineWrapper::writeColumnRec(const TxnID& txnid,
break;
case WriteEngine::WR_BINARY:
case WriteEngine::WR_BCDECIMAL:
valArray = calloc(colStructList[i].colWidth, totalRow1);
break;
}

View File

@ -621,7 +621,17 @@ public:
*/
// todo: add implementation when we work on version control
// int endTran(const TransID transOid) { return NO_ERROR; }
// WIP
void setDebugLevel(const DebugLevel level)
{
WEObj::setDebugLevel(level);
for (int i = 0; i < TOTAL_COMPRESS_OP; i++)
{
m_colOp[i]->setDebugLevel(level);
m_dctnry[i]->setDebugLevel(level);
}
} // todo: cleanup
/************************************************************************
* Internal use definitions
@ -676,17 +686,7 @@ private:
std::vector<BRM::VBRange>& freeList, std::vector<std::vector<uint32_t> >& fboLists,
std::vector<std::vector<BRM::LBIDRange> >& rangeLists, std::vector<BRM::LBIDRange>& rangeListTot);
void setDebugLevel(const DebugLevel level)
{
WEObj::setDebugLevel(level);
for (int i = 0; i < TOTAL_COMPRESS_OP; i++)
{
m_colOp[i]->setDebugLevel(level);
m_dctnry[i]->setDebugLevel(level);
}
} // todo: cleanup
/**
* @brief Common methods to write values to a column
*/