OmniSciDB
94e8789169
|
#include <PersistentStorageMgr.h>
Public Member Functions | |
PersistentStorageMgr (const std::string &data_dir, const size_t num_reader_threads, const DiskCacheConfig &disk_cache_config) | |
AbstractBuffer * | createBuffer (const ChunkKey &chunk_key, const size_t page_size, const size_t initial_size) override |
void | deleteBuffer (const ChunkKey &chunk_key, const bool purge) override |
void | deleteBuffersWithPrefix (const ChunkKey &chunk_key_prefix, const bool purge) override |
AbstractBuffer * | getBuffer (const ChunkKey &chunk_key, const size_t num_bytes) override |
void | fetchBuffer (const ChunkKey &chunk_key, AbstractBuffer *destination_buffer, const size_t num_bytes) override |
AbstractBuffer * | putBuffer (const ChunkKey &chunk_key, AbstractBuffer *source_buffer, const size_t num_bytes) override |
void | getChunkMetadataVecForKeyPrefix (ChunkMetadataVector &chunk_metadata, const ChunkKey &chunk_key_prefix) override |
bool | isBufferOnDevice (const ChunkKey &chunk_key) override |
std::string | printSlabs () override |
void | clearSlabs () override |
size_t | getMaxSize () override |
size_t | getInUseSize () override |
size_t | getAllocated () override |
bool | isAllocationCapped () override |
void | checkpoint () override |
void | checkpoint (const int db_id, const int tb_id) override |
AbstractBuffer * | alloc (const size_t num_bytes) override |
void | free (AbstractBuffer *buffer) override |
MgrType | getMgrType () override |
std::string | getStringMgrType () override |
size_t | getNumChunks () override |
void | removeTableRelatedDS (const int db_id, const int table_id) override |
File_Namespace::GlobalFileMgr * | getGlobalFileMgr () const |
foreign_storage::ForeignStorageMgr * | getForeignStorageMgr () const |
foreign_storage::ForeignStorageCache * | getDiskCache () const |
const DiskCacheConfig | getDiskCacheConfig () const |
Static Public Member Functions | |
static PersistentStorageMgr * | createPersistentStorageMgr (const std::string &data_dir, const size_t num_reader_threads, const DiskCacheConfig &disk_cache_config) |
Protected Member Functions | |
bool | isForeignStorage (const ChunkKey &chunk_key) const |
AbstractBufferMgr * | getStorageMgrForTableKey (const ChunkKey &table_key) const |
bool | isChunkPrefixCacheable (const ChunkKey &chunk_prefix) const |
int | recoverDataWrapperIfCachedAndGetHighestFragId (const ChunkKey &table_key) |
Protected Attributes | |
std::unique_ptr < File_Namespace::GlobalFileMgr > | global_file_mgr_ |
std::unique_ptr < foreign_storage::ForeignStorageMgr > | foreign_storage_mgr_ |
std::unique_ptr < foreign_storage::ForeignStorageCache > | disk_cache_ |
DiskCacheConfig | disk_cache_config_ |
Definition at line 26 of file PersistentStorageMgr.h.
PersistentStorageMgr::PersistentStorageMgr | ( | const std::string & | data_dir, |
const size_t | num_reader_threads, | ||
const DiskCacheConfig & | disk_cache_config | ||
) |
Definition at line 34 of file PersistentStorageMgr.cpp.
References disk_cache_, disk_cache_config_, foreign_storage_mgr_, DiskCacheConfig::isEnabled(), and DiskCacheConfig::isEnabledForFSI().
Referenced by createPersistentStorageMgr().
|
override |
Definition at line 166 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 158 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 162 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 138 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 53 of file PersistentStorageMgr.cpp.
References getStorageMgrForTableKey().
Referenced by MutableCachePersistentStorageMgr::createBuffer().
|
static |
Definition at line 23 of file PersistentStorageMgr.cpp.
References DiskCacheConfig::isEnabledForMutableTables(), and PersistentStorageMgr().
Referenced by Data_Namespace::DataMgr::populateMgrs().
|
override |
Definition at line 60 of file PersistentStorageMgr.cpp.
References getStorageMgrForTableKey().
Referenced by MutableCachePersistentStorageMgr::deleteBuffer().
|
override |
Definition at line 64 of file PersistentStorageMgr.cpp.
References getStorageMgrForTableKey().
Referenced by MutableCachePersistentStorageMgr::deleteBuffersWithPrefix().
|
override |
Definition at line 75 of file PersistentStorageMgr.cpp.
References Data_Namespace::AbstractBuffer::copyTo(), disk_cache_, getStorageMgrForTableKey(), isChunkPrefixCacheable(), and isForeignStorage().
|
override |
Definition at line 170 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 150 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 70 of file PersistentStorageMgr.cpp.
References getStorageMgrForTableKey().
|
override |
Definition at line 104 of file PersistentStorageMgr.cpp.
References CHECK, disk_cache_, get_table_key(), getStorageMgrForTableKey(), has_table_prefix(), and isChunkPrefixCacheable().
foreign_storage::ForeignStorageCache * PersistentStorageMgr::getDiskCache | ( | ) | const |
Definition at line 231 of file PersistentStorageMgr.cpp.
References disk_cache_.
|
inline |
Definition at line 71 of file PersistentStorageMgr.h.
foreign_storage::ForeignStorageMgr * PersistentStorageMgr::getForeignStorageMgr | ( | ) | const |
Definition at line 227 of file PersistentStorageMgr.cpp.
References foreign_storage_mgr_.
File_Namespace::GlobalFileMgr * PersistentStorageMgr::getGlobalFileMgr | ( | ) | const |
Definition at line 186 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 146 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 142 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 174 of file PersistentStorageMgr.cpp.
|
override |
Definition at line 182 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
protected |
Definition at line 218 of file PersistentStorageMgr.cpp.
References foreign_storage_mgr_, global_file_mgr_, and isForeignStorage().
Referenced by createBuffer(), deleteBuffer(), deleteBuffersWithPrefix(), fetchBuffer(), getBuffer(), getChunkMetadataVecForKeyPrefix(), putBuffer(), and removeTableRelatedDS().
|
override |
Definition at line 178 of file PersistentStorageMgr.cpp.
|
override |
Definition at line 154 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 130 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
protected |
Definition at line 235 of file PersistentStorageMgr.cpp.
References CHECK, CHUNK_KEY_DB_IDX, CHUNK_KEY_TABLE_IDX, disk_cache_config_, has_table_prefix(), DiskCacheConfig::isEnabledForFSI(), DiskCacheConfig::isEnabledForMutableTables(), isForeignStorage(), and ForeignStorageInterface::lookupBufferManager().
Referenced by MutableCachePersistentStorageMgr::createBuffer(), fetchBuffer(), getChunkMetadataVecForKeyPrefix(), and removeTableRelatedDS().
|
protected |
Definition at line 198 of file PersistentStorageMgr.cpp.
References CHECK, CHUNK_KEY_DB_IDX, CHUNK_KEY_TABLE_IDX, StorageType::FOREIGN_TABLE, Catalog_Namespace::SysCatalog::getCatalog(), has_table_prefix(), and Catalog_Namespace::SysCatalog::instance().
Referenced by MutableCachePersistentStorageMgr::deleteBuffer(), fetchBuffer(), getStorageMgrForTableKey(), and isChunkPrefixCacheable().
|
override |
Definition at line 134 of file PersistentStorageMgr.cpp.
References global_file_mgr_.
|
override |
Definition at line 97 of file PersistentStorageMgr.cpp.
References getStorageMgrForTableKey().
Referenced by MutableCachePersistentStorageMgr::putBuffer().
|
protected |
|
override |
Definition at line 190 of file PersistentStorageMgr.cpp.
References disk_cache_, getStorageMgrForTableKey(), and isChunkPrefixCacheable().
Referenced by MutableCachePersistentStorageMgr::removeTableRelatedDS().
|
protected |
Definition at line 81 of file PersistentStorageMgr.h.
Referenced by MutableCachePersistentStorageMgr::checkpoint(), MutableCachePersistentStorageMgr::deleteBuffer(), MutableCachePersistentStorageMgr::deleteBuffersWithPrefix(), fetchBuffer(), getChunkMetadataVecForKeyPrefix(), getDiskCache(), MutableCachePersistentStorageMgr::MutableCachePersistentStorageMgr(), PersistentStorageMgr(), MutableCachePersistentStorageMgr::putBuffer(), and removeTableRelatedDS().
|
protected |
Definition at line 82 of file PersistentStorageMgr.h.
Referenced by isChunkPrefixCacheable(), MutableCachePersistentStorageMgr::MutableCachePersistentStorageMgr(), and PersistentStorageMgr().
|
protected |
Definition at line 80 of file PersistentStorageMgr.h.
Referenced by getForeignStorageMgr(), getStorageMgrForTableKey(), and PersistentStorageMgr().
|
protected |
Definition at line 79 of file PersistentStorageMgr.h.
Referenced by alloc(), MutableCachePersistentStorageMgr::checkpoint(), checkpoint(), clearSlabs(), free(), getAllocated(), getGlobalFileMgr(), getInUseSize(), getMaxSize(), getNumChunks(), getStorageMgrForTableKey(), isAllocationCapped(), isBufferOnDevice(), and printSlabs().