OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LockMgrImpl.h File Reference
#include <atomic>
#include <map>
#include <memory>
#include <string>
#include <type_traits>
#include "Catalog/Catalog.h"
#include "DataMgr/FileMgr/GlobalFileMgr.h"
#include "OSDependent/heavyai_locks.h"
#include "QueryEngine/ExternalCacheInvalidators.h"
#include "Shared/heavyai_shared_mutex.h"
#include "Shared/types.h"
+ Include dependency graph for LockMgrImpl.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  lockmgr::MutexTracker
class  lockmgr::TrackedRefLock< LOCK >
class  lockmgr::AbstractLockContainer< T >
class  lockmgr::LockContainerImpl< T, LOCK >
class  lockmgr::TableLockMgrImpl< T >




using lockmgr::MutexTypeBase = heavyai::shared_mutex
using lockmgr::WriteLockBase = heavyai::unique_lock< MutexTracker >
using lockmgr::ReadLockBase = heavyai::shared_lock< MutexTracker >
using lockmgr::WriteLock = TrackedRefLock< WriteLockBase >
using lockmgr::ReadLock = TrackedRefLock< ReadLockBase >


ChunkKey lockmgr::helpers::chunk_key_for_table (const Catalog_Namespace::Catalog &cat, const std::string &tableName)
template<typename LOCK_TYPE , typename LOCK_MGR_TYPE >
LOCK_TYPE lockmgr::helpers::getLockForKeyImpl (const ChunkKey &chunk_key)
template<typename LOCK_TYPE , typename LOCK_MGR_TYPE >
LOCK_TYPE lockmgr::helpers::getLockForTableImpl (const Catalog_Namespace::Catalog &cat, const std::string &table_name)
template<typename T >
std::ostream & lockmgr::operator<< (std::ostream &os, const TableLockMgrImpl< T > &lock_mgr)