1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

fix(rowgroup): fix for the forgotten attributes assignment

This commit is contained in:
drrtuy
2025-03-21 21:12:37 +00:00
parent db2c82519d
commit 04b44a835e
2 changed files with 8 additions and 6 deletions

View File

@ -332,15 +332,14 @@ RGData::RGData(const RowGroup& rg)
strings.reset(new StringStore());
userDataStore.reset();
columnCount = rg.getColumnCount();
columnCount = rg.getColumnCount();
rowSize = rg.getRowSize();
}
RGData::RGData(const RowGroup& rg, allocators::CountingAllocator<RGDataBufType>& _alloc) : alloc(_alloc)
{
rowData = boost::allocate_shared<RGDataBufType>(alloc.value(), rg.getMaxDataSize());
// rowData = std::make_shared(uint8_t[rg.getMaxDataSize()]);
if (rg.usesStringTable())
{
@ -349,6 +348,8 @@ RGData::RGData(const RowGroup& rg, allocators::CountingAllocator<RGDataBufType>&
}
userDataStore.reset();
rowSize = rg.getRowSize();
columnCount = rg.getColumnCount();
}
void RGData::reinit(const RowGroup& rg, uint32_t rowCount)

View File

@ -2203,10 +2203,11 @@ inline uint64_t StringStore::getSize() const
inline void RGData::getRow(uint32_t num, Row* row)
{
idbassert(columnCount == row->getColumnCount() && rowSize == row->getSize());
uint32_t size = row->getSize();
uint32_t incomingRowSize = row->getSize();
idbassert(columnCount == row->getColumnCount() && rowSize == incomingRowSize);
row->setData(
Row::Pointer(&rowData[RowGroup::getHeaderSize() + (num * size)], strings.get(), userDataStore.get()));
Row::Pointer(&rowData[RowGroup::getHeaderSize() + (num * incomingRowSize)], strings.get(), userDataStore.get()));
}
} // namespace rowgroup