You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-27 21:01:50 +03:00
fix(brm): This refactors shmem RWLocks operations for EM, EMIndex and FreeList so that re-map operation always takes shmem lock in Exclusive mode
--------- Co-authored-by: Roman Nozdrin <rnozdrin@mariadb.com>
This commit is contained in:
@ -34,7 +34,7 @@
|
||||
#include <tr1/unordered_map>
|
||||
#include <mutex>
|
||||
|
||||
//#define NDEBUG
|
||||
// #define NDEBUG
|
||||
#include <cassert>
|
||||
#include <boost/functional/hash.hpp> //boost::hash
|
||||
#include <boost/interprocess/allocators/allocator.hpp>
|
||||
@ -1175,6 +1175,11 @@ class ExtentMap : public Undoable
|
||||
|
||||
int _markInvalid(const LBID_t lbid, const execplan::CalpontSystemCatalog::ColDataType colDataType);
|
||||
|
||||
MSTEntry* _getTableLock(const OPS op, std::atomic<bool>& lockedState, const int table);
|
||||
void _getTableLockUpgradeIfNeeded(const OPS op, std::atomic<bool>& lockedState, const int table);
|
||||
void _getTableLockDowngradeIfNeeded(const OPS op, std::atomic<bool>& lockedState, const int table);
|
||||
void _releaseTable(const OPS op, std::atomic<bool>& lockedState, const int table);
|
||||
|
||||
template <typename T>
|
||||
void load(T* in);
|
||||
|
||||
|
Reference in New Issue
Block a user