You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
MCOL-507 Further ExeMgr performance improvements
This does the following: * Switch resource manager to a singleton which reduces the amount of times the XML data is scanned and objects allocated. * Make the I_S tables use the FE implementation of the system catalog * Make the I_S.columnstore_columns table use the RID list cache * Make the extentmap pre-allocate a vector instead of many small allocs
This commit is contained in:
@ -103,7 +103,7 @@ TupleUnion::TupleUnion(CalpontSystemCatalog::OID tableOID, const JobInfo& jobInf
|
||||
|
||||
TupleUnion::~TupleUnion()
|
||||
{
|
||||
rm.returnMemory(memUsage, sessionMemLimit);
|
||||
rm->returnMemory(memUsage, sessionMemLimit);
|
||||
if (!runRan && output)
|
||||
output->endOfInput();
|
||||
}
|
||||
@ -227,7 +227,7 @@ void TupleUnion::readInput(uint32_t which)
|
||||
memDiff += (memUsageAfter - memUsageBefore);
|
||||
memUsage += memDiff;
|
||||
}
|
||||
if (!rm.getMemory(memDiff, sessionMemLimit)) {
|
||||
if (!rm->getMemory(memDiff, sessionMemLimit)) {
|
||||
fLogger->logMessage(logging::LOG_TYPE_INFO, logging::ERR_UNION_TOO_BIG);
|
||||
if (status() == 0) // preserve existing error code
|
||||
{
|
||||
@ -789,7 +789,7 @@ void TupleUnion::join()
|
||||
runners.clear();
|
||||
uniquer->clear();
|
||||
rowMemory.clear();
|
||||
rm.returnMemory(memUsage, sessionMemLimit);
|
||||
rm->returnMemory(memUsage, sessionMemLimit);
|
||||
memUsage = 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user