You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-08 14:22:09 +03:00
MCOL4841 dev port run large join without OOM
This commit is contained in:
@@ -763,13 +763,13 @@ void GroupConcatOrderBy::processRow(const rowgroup::Row& row)
|
||||
fDataQueue.push(fData);
|
||||
|
||||
uint64_t newSize = fRowsPerRG * fRowGroup.getRowSize();
|
||||
fMemSize += newSize;
|
||||
|
||||
if (!fRm->getMemory(newSize, fSessionMemLimit))
|
||||
{
|
||||
cerr << IDBErrorInfo::instance()->errorMsg(fErrorCode) << " @" << __FILE__ << ":" << __LINE__;
|
||||
throw IDBExcept(fErrorCode);
|
||||
}
|
||||
fMemSize += newSize;
|
||||
|
||||
fData.reinit(fRowGroup, fRowsPerRG);
|
||||
fRowGroup.setData(&fData);
|
||||
@@ -945,13 +945,13 @@ void GroupConcatNoOrder::initialize(const rowgroup::SP_GroupConcat& gcc)
|
||||
fConcatColumns.push_back((*(i++)).second);
|
||||
|
||||
uint64_t newSize = fRowsPerRG * fRowGroup.getRowSize();
|
||||
fMemSize += newSize;
|
||||
|
||||
if (!fRm->getMemory(newSize, fSessionMemLimit))
|
||||
{
|
||||
cerr << IDBErrorInfo::instance()->errorMsg(fErrorCode) << " @" << __FILE__ << ":" << __LINE__;
|
||||
throw IDBExcept(fErrorCode);
|
||||
}
|
||||
fMemSize += newSize;
|
||||
|
||||
fData.reinit(fRowGroup, fRowsPerRG);
|
||||
fRowGroup.setData(&fData);
|
||||
@@ -978,13 +978,12 @@ void GroupConcatNoOrder::processRow(const rowgroup::Row& row)
|
||||
{
|
||||
uint64_t newSize = fRowsPerRG * fRowGroup.getRowSize();
|
||||
|
||||
fMemSize += newSize;
|
||||
|
||||
if (!fRm->getMemory(newSize, fSessionMemLimit))
|
||||
{
|
||||
cerr << IDBErrorInfo::instance()->errorMsg(fErrorCode) << " @" << __FILE__ << ":" << __LINE__;
|
||||
throw IDBExcept(fErrorCode);
|
||||
}
|
||||
fMemSize += newSize;
|
||||
|
||||
fDataQueue.push(fData);
|
||||
fData.reinit(fRowGroup, fRowsPerRG);
|
||||
|
Reference in New Issue
Block a user