Class File_Namespace::CachingGlobalFileMgr

class CachingGlobalFileMgr : public File_Namespace::GlobalFileMgr

Public Functions

CachingGlobalFileMgr(int32_t device_id, std::shared_ptr<ForeignStorageInterface> fsi, const std::string &base_path, size_t num_reader_threads, foreign_storage::ForeignStorageCache *disk_cache, size_t defaultPageSize = DEFAULT_PAGE_SIZE)
AbstractBuffer *createBuffer(const ChunkKey &chunk_key, const size_t page_size, const size_t initial_size)
void deleteBuffer(const ChunkKey &chunk_key, const bool purge)
void deleteBuffersWithPrefix(const ChunkKey &chunk_key_prefix, const bool purge)
void getChunkMetadataVecForKeyPrefix(ChunkMetadataVector &chunk_metadata, const ChunkKey &keyPrefix)
void fetchBuffer(const ChunkKey &chunk_key, AbstractBuffer *destination_buffer, const size_t num_bytes)
AbstractBuffer *putBuffer(const ChunkKey &chunk_key, AbstractBuffer *source_buffer, const size_t num_bytes)
void checkpoint()
void checkpoint(const int db_id, const int tb_id)
void removeTableRelatedDS(const int db_id, const int table_id)

Private Functions

bool isChunkPrefixCacheable(const ChunkKey &chunk_prefix) const

Private Members

foreign_storage::ForeignStorageCache *disk_cache_
std::set<ChunkKey> cached_chunk_keys_