Class File_Namespace::GlobalFileMgr¶
-
class
GlobalFileMgr
: public AbstractBufferMgr¶ Subclassed by File_Namespace::CachingGlobalFileMgr
Public Functions
Constructor.
-
~GlobalFileMgr
()¶
-
AbstractBuffer *
createBuffer
(const ChunkKey &key, size_t pageSize = 0, const size_t numBytes = 0)¶ Creates a chunk with the specified key and page size.
-
bool
isBufferOnDevice
(const ChunkKey &key)¶
-
void
deleteBuffer
(const ChunkKey &key, const bool purge = true)¶ Deletes the chunk with the specified key.
-
void
deleteBuffersWithPrefix
(const ChunkKey &keyPrefix, const bool purge = true)¶
-
AbstractBuffer *
getBuffer
(const ChunkKey &key, const size_t numBytes = 0)¶ Returns the a pointer to the chunk with the specified key.
-
void
fetchBuffer
(const ChunkKey &key, AbstractBuffer *destBuffer, const size_t numBytes)¶
-
AbstractBuffer *
putBuffer
(const ChunkKey &key, AbstractBuffer *d, const size_t numBytes = 0)¶ Puts the contents of d into the Chunk with the given key.
- Return
AbstractBuffer*
- Parameters
key
: - Unique identifier for a Chunk.d
: - An object representing the source data for the Chunk.
-
AbstractBuffer *
alloc
(const size_t numBytes)¶
-
void
free
(AbstractBuffer *buffer)¶
-
MgrType
getMgrType
()¶
-
std::string
getStringMgrType
()¶
-
std::string
printSlabs
()¶
-
size_t
getMaxSize
()¶
-
size_t
getInUseSize
()¶
-
size_t
getAllocated
()¶
-
bool
isAllocationCapped
()¶
-
void
init
()¶
-
void
getChunkMetadataVecForKeyPrefix
(ChunkMetadataVector &chunkMetadataVec, const ChunkKey &keyPrefix)¶
-
void
checkpoint
()¶ Fsyncs data files, writes out epoch and fsyncs that.
-
void
checkpoint
(const int32_t db_id, const int32_t tb_id)¶
-
size_t
getNumReaderThreads
()¶ Returns number of threads defined by parameter num-reader-threads which should be used during initial load and consequent read of data.
-
size_t
getNumChunks
()¶
-
void
compactDataFiles
(const int32_t db_id, const int32_t tb_id)¶
-
AbstractBufferMgr *
findFileMgr
(const int32_t db_id, const int32_t tb_id)¶
-
void
setFileMgrParams
(const int32_t db_id, const int32_t tb_id, const FileMgrParams &file_mgr_params)¶
-
AbstractBufferMgr *
getFileMgr
(const int32_t db_id, const int32_t tb_id)¶
-
AbstractBufferMgr *
getFileMgr
(const ChunkKey &key)¶
-
std::string
getBasePath
() const¶
-
size_t
getDefaultPageSize
() const¶
-
int32_t
getDBVersion
() const¶
-
bool
getDBConvert
() const¶
-
void
setDBConvert
(bool val)¶
-
void
removeTableRelatedDS
(const int32_t db_id, const int32_t tb_id)¶
-
void
setTableEpoch
(const int32_t db_id, const int32_t tb_id, const int32_t start_epoch)¶
-
size_t
getTableEpoch
(const int32_t db_id, const int32_t tb_id)¶
-
void
resetTableEpochFloor
(const int32_t db_id, const int32_t tb_id)¶
-
StorageStats
getStorageStats
(const int32_t db_id, const int32_t tb_id)¶
-
void
closeFileMgr
(const int32_t db_id, const int32_t tb_id)¶
Protected Attributes
-
std::shared_ptr<ForeignStorageInterface>
fsi_
¶
Private Functions
-
AbstractBufferMgr *
findFileMgrUnlocked
(const int32_t db_id, const int32_t tb_id)¶
-
void
deleteFileMgr
(const int32_t db_id, const int32_t tb_id)¶
-
bool
existsDiffBetweenFileMgrParamsAndFileMgr
(FileMgr *file_mgr, const FileMgrParams &file_mgr_params) const¶
Private Members
-
std::string
basePath_
¶
-
size_t
num_reader_threads_
¶ The OS file system path containing the files.
-
int32_t
epoch_
¶ number of threads used when loading data
-
size_t
defaultPageSize_
¶
-
bool
dbConvert_
¶ DB version for DataMgr DS and corresponding file buffer read/write code
-
std::map<TablePair, std::shared_ptr<FileMgr>>
ownedFileMgrs_
¶ true if conversion should be done between different “omnisci_db_version_”
-
std::map<TablePair, AbstractBufferMgr *>
allFileMgrs_
¶
-
std::map<TablePair, int32_t>
max_rollback_epochs_per_table_
¶
-
std::map<TablePair, StorageStats>
lazy_initialized_stats_
¶
-
mapd_shared_mutex
fileMgrs_mutex_
¶