22 namespace File_Namespace {
29 std::shared_ptr<ForeignStorageInterface>
fsi,
30 const std::string& base_path,
31 size_t num_reader_threads,
36 const size_t page_size,
37 const size_t initial_size)
override;
42 const bool purge)
override;
49 const size_t num_bytes)
override;
53 const size_t num_bytes)
override;
57 void checkpoint(
const int db_id,
const int tb_id)
override;
std::vector< int > ChunkKey
void getChunkMetadataVecForKeyPrefix(ChunkMetadataVector &chunk_metadata, const ChunkKey &keyPrefix) override
foreign_storage::ForeignStorageCache * disk_cache_
This file includes the class specification for the FILE manager (FileMgr), and related data structure...
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)
This file includes the class specification for the cache used by the Foreign Storage Interface (FSI)...
void checkpoint() override
void deleteBuffer(const ChunkKey &chunk_key, const bool purge) override
AbstractBuffer * createBuffer(const ChunkKey &chunk_key, const size_t page_size, const size_t initial_size) override
void removeCachedData(const int db_id, const int table_id)
An AbstractBuffer is a unit of data management for a data manager.
bool isChunkPrefixCacheable(const ChunkKey &chunk_prefix) const
#define DEFAULT_PAGE_SIZE
void deleteBuffersWithPrefix(const ChunkKey &chunk_key_prefix, const bool purge) override
AbstractBuffer * putBuffer(const ChunkKey &chunk_key, AbstractBuffer *source_buffer, const size_t num_bytes) override
void removeTableRelatedDS(const int db_id, const int table_id) override
void fetchBuffer(const ChunkKey &chunk_key, AbstractBuffer *destination_buffer, const size_t num_bytes) override
std::set< ChunkKey > cached_chunk_keys_