OmniSciDB  1dac507f6e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LockMgr.h File Reference
#include "Catalog/Catalog.h"
#include "Shared/mapd_shared_mutex.h"
#include "Shared/types.h"
#include "ThriftHandler/QueryState.h"
#include <map>
#include <mutex>
#include <tuple>
#include "boost/variant.hpp"
#include <rapidjson/document.h>
+ Include dependency graph for LockMgr.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Lock_Namespace::LockMgr< MutexType, KeyType >
 

Namespaces

 Lock_Namespace
 

Typedefs

using Lock_Namespace::LockTypeContainer = boost::variant< mapd_shared_lock< mapd_shared_mutex >, mapd_unique_lock< mapd_shared_mutex >>
 

Enumerations

enum  Lock_Namespace::LockType { Lock_Namespace::TableMetadataLock, Lock_Namespace::CheckpointLock, Lock_Namespace::ExecutorOuterLock, Lock_Namespace::LockMax }
 

Functions

ChunkKey Lock_Namespace::getTableChunkKey (const Catalog_Namespace::Catalog &cat, const std::string &tableName)
 
void Lock_Namespace::getTableNames (std::map< std::string, bool > &tableNames, const Value &value)
 
void Lock_Namespace::getTableNames (std::map< std::string, bool > &tableNames, const std::string query_ra)
 
std::string Lock_Namespace::parse_to_ra (query_state::QueryStateProxy query_state_proxy, const std::string &query_str)
 
template<typename MutexType >
std::shared_ptr< MutexType > Lock_Namespace::getTableMutex (const Catalog_Namespace::Catalog &cat, const std::string &tableName, const Lock_Namespace::LockType lockType)
 
template<typename MutexType , template< typename > class LockType>
LockType< MutexType > Lock_Namespace::getTableLock (const Catalog_Namespace::Catalog &cat, const std::string &tableName, const Lock_Namespace::LockType lockType)
 
template<typename MutexType >
void Lock_Namespace::getTableLocks (const Catalog_Namespace::Catalog &cat, const std::map< std::string, bool > &tableNames, std::vector< std::shared_ptr< LockTypeContainer >> &tableLocks, const Lock_Namespace::LockType lockType)
 
template<typename MutexType >
void Lock_Namespace::getTableLocks (const Catalog_Namespace::Catalog &cat, const std::string &query_ra, std::vector< std::shared_ptr< LockTypeContainer >> &tableLocks, const Lock_Namespace::LockType lockType)