OmniSciDB
a5dc49c757
|
#include <atomic>
#include <map>
#include <memory>
#include <string>
#include <type_traits>
#include "Catalog/Catalog.h"
#include "OSDependent/heavyai_locks.h"
#include "Shared/heavyai_shared_mutex.h"
#include "Shared/types.h"
Go to the source code of this file.
Classes | |
class | lockmgr::MutexTracker |
class | lockmgr::TrackedRefLock< LOCK > |
class | lockmgr::AbstractLockContainer< T > |
class | lockmgr::LockContainerImpl< T, LOCK > |
class | lockmgr::TableLockMgrImpl< T > |
Namespaces | |
lockmgr | |
lockmgr::helpers | |
Typedefs | |
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 > |
Functions | |
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) |