You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-04 04:42:30 +03:00
MCOL-5021 Add a new member function to the DBRM class, DBRM::addToLBIDList().
This function iterates over lbidList (populated by an earlier call to DBRM::getUncommittedExtentLBIDs()) to find those LBIDs which belong to the AUX column. It then finds the corresponding LBIDs for all other columns which belong to the same table as the AUX LBID and appends them to lbidList. The updated lbidList is used by invalidateUncommittedExtentLBIDs() to update the casual partitioning information. DBRM::addToLBIDList() only comes into play in case of a transaction ROLLBACK.
This commit is contained in:
@ -374,6 +374,9 @@ DMLPackageProcessor::DMLResult CommandPackageProcessor::processPackage(
|
||||
|
||||
if (weRc == 0)
|
||||
{
|
||||
// MCOL-5021
|
||||
fDbrm->addToLBIDList(fSessionID, lbidList);
|
||||
|
||||
//@Bug 4560 invalidate cp first as bulkrollback will truncate the newly added lbids.
|
||||
fDbrm->invalidateUncommittedExtentLBIDs(0, true, &lbidList);
|
||||
cpInvalidated = true;
|
||||
@ -433,6 +436,12 @@ DMLPackageProcessor::DMLResult CommandPackageProcessor::processPackage(
|
||||
|
||||
if (!cpInvalidated)
|
||||
{
|
||||
// MCOL-5021
|
||||
if (stmt == "ROLLBACK")
|
||||
{
|
||||
fDbrm->addToLBIDList(fSessionID, lbidList);
|
||||
}
|
||||
|
||||
fDbrm->invalidateUncommittedExtentLBIDs(0, stmt == "ROLLBACK", &lbidList);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user