You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
MCOL-5091/MCOL-4917 ExtentMap as RBTree.
This patch replaces a `linear array` to `Red black tree` for ExtentMap.
This commit is contained in:
@@ -115,4 +115,23 @@ class BRMManagedShmImpl : public BRMShmImplParent
|
||||
bi::managed_shared_memory* fShmSegment;
|
||||
};
|
||||
|
||||
class BRMManagedShmImplRBTree : public BRMShmImplParent
|
||||
{
|
||||
public:
|
||||
BRMManagedShmImplRBTree(unsigned key, off_t size, bool readOnly = false);
|
||||
~BRMManagedShmImplRBTree();
|
||||
|
||||
void setReadOnly() override;
|
||||
int32_t grow(unsigned key, off_t incSize);
|
||||
void destroy() override;
|
||||
void reMapSegment();
|
||||
int clear(unsigned newKey, off_t newSize) override;
|
||||
|
||||
boost::interprocess::managed_shared_memory* fShmSegment;
|
||||
|
||||
private:
|
||||
// The `segment` name is fixed.
|
||||
const char* segmentName = "MCS-shm-00020001";
|
||||
};
|
||||
|
||||
} // namespace BRM
|
||||
|
Reference in New Issue
Block a user