OmniSciDB
a5dc49c757
|
Locks protecting a physical table object returned from the catalog. Table Metadata Locks prevent incompatible concurrent operations on table objects. For example, before dropping or altering a table, a metadata write lock must be acquired. This prevents concurrent read + drop, concurrent drops, etc. More...
#include <LockMgr.h>
Static Public Member Functions | |
static TableSchemaLockMgr & | instance () |
Static Public Member Functions inherited from lockmgr::TableLockMgrImpl< TableSchemaLockMgr > | |
static TableSchemaLockMgr & | instance () |
static WriteLock | getWriteLockForTable (const Catalog_Namespace::Catalog &cat, const std::string &table_name) |
static WriteLock | getWriteLockForTable (const ChunkKey &table_key) |
static ReadLock | getReadLockForTable (Catalog_Namespace::Catalog &cat, const std::string &table_name) |
static ReadLock | getReadLockForTable (const ChunkKey &table_key) |
Static Private Attributes | |
static constexpr std::string_view | kind = "schema" |
Friends | |
class | TableLockMgrImpl< TableSchemaLockMgr > |
Additional Inherited Members | |
Public Member Functions inherited from lockmgr::TableLockMgrImpl< TableSchemaLockMgr > | |
virtual | ~TableLockMgrImpl ()=default |
virtual MutexTracker * | getTableMutex (const ChunkKey &table_key) |
std::set< ChunkKey > | getLockedTables () const |
Protected Member Functions inherited from lockmgr::TableLockMgrImpl< TableSchemaLockMgr > | |
TableLockMgrImpl () | |
virtual std::unique_ptr < heavyai::DistributedSharedMutex > | getClusterTableMutex (const ChunkKey &table_key) const |
Protected Attributes inherited from lockmgr::TableLockMgrImpl< TableSchemaLockMgr > | |
std::mutex | map_mutex_ |
std::map< ChunkKey, std::unique_ptr< MutexTracker > > | table_mutex_map_ |
Locks protecting a physical table object returned from the catalog. Table Metadata Locks prevent incompatible concurrent operations on table objects. For example, before dropping or altering a table, a metadata write lock must be acquired. This prevents concurrent read + drop, concurrent drops, etc.
|
inlinestatic |
Definition at line 40 of file LockMgr.h.
Referenced by DBHandler::execute_rel_alg(), Catalog_Namespace::Catalog::reloadCatalogMetadataUnlocked(), and DBHandler::sql_execute().
|
friend |
|
inlinestaticprivate |
Definition at line 47 of file LockMgr.h.
Referenced by TableFunctionsFactory_linker.BaseGenerateFiles::_get_filename(), heavydb.serialized_result_set.ttypes.TTargetInfo::read(), and heavydb.serialized_result_set.ttypes.TTargetInfo::write().