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:
@ -474,7 +474,7 @@ int PackageHandler::clearTableAccess()
|
||||
|
||||
void PackageHandler::run()
|
||||
{
|
||||
ResourceManager frm;
|
||||
ResourceManager *frm = ResourceManager::instance();
|
||||
dmlpackageprocessor::DMLPackageProcessor::DMLResult result;
|
||||
result.result = dmlpackageprocessor::DMLPackageProcessor::NO_ERROR;
|
||||
//cout << "PackageHandler handling ";
|
||||
@ -890,7 +890,7 @@ void PackageHandler::run()
|
||||
//session to take advantage of cache.
|
||||
fProcessor.reset(new dmlpackageprocessor::UpdatePackageProcessor(fDbrm, updatePkg->get_SessionID()));
|
||||
fProcessor->setEngineComm(fEC);
|
||||
fProcessor->setRM( &frm);
|
||||
fProcessor->setRM( frm);
|
||||
idbassert( fTxnid != 0);
|
||||
result = fProcessor->processPackage(*(updatePkg.get())) ;
|
||||
qts.msg_type = QueryTeleStats::QT_SUMMARY;
|
||||
@ -945,7 +945,7 @@ void PackageHandler::run()
|
||||
//@Bug 1341. Don't remove calpontsystemcatalog from this session to take advantage of cache.
|
||||
fProcessor.reset(new dmlpackageprocessor::DeletePackageProcessor(fDbrm, deletePkg->get_SessionID()));
|
||||
fProcessor->setEngineComm(fEC);
|
||||
fProcessor->setRM( &frm);
|
||||
fProcessor->setRM( frm);
|
||||
idbassert( fTxnid != 0);
|
||||
result = fProcessor->processPackage(*(deletePkg.get())) ;
|
||||
qts.msg_type = QueryTeleStats::QT_SUMMARY;
|
||||
@ -1116,7 +1116,7 @@ void PackageHandler::rollbackPending()
|
||||
void added_a_pm(int)
|
||||
{
|
||||
DistributedEngineComm *dec;
|
||||
ResourceManager rm;
|
||||
ResourceManager *rm = ResourceManager::instance();
|
||||
dec = DistributedEngineComm::instance(rm);
|
||||
dec->Setup();
|
||||
// MCOL-140 clear the waiting queue as all transactions are probably going to fail
|
||||
@ -1185,10 +1185,10 @@ void DMLProcessor::operator()()
|
||||
//messageqcpp::ByteStream bs;
|
||||
uint8_t packageType;
|
||||
|
||||
ResourceManager rm;
|
||||
ResourceManager *rm = ResourceManager::instance();
|
||||
DistributedEngineComm* fEC = DistributedEngineComm::instance(rm);
|
||||
|
||||
uint64_t maxDeleteRows = rm.getDMLMaxDeleteRows();
|
||||
uint64_t maxDeleteRows = rm->getDMLMaxDeleteRows();
|
||||
|
||||
fConcurrentSupport = true;
|
||||
string concurrentTranStr = config::Config::makeConfig()->getConfig("SystemConfig", "ConcurrentTransactions");
|
||||
|
Reference in New Issue
Block a user