22 namespace foreign_storage {
33 const size_t num_bytes)
override;
36 const ChunkKey& chunk_key_prefix)
override;
55 const std::vector<ChunkKey>& old_chunk_keys);
58 const std::vector<ChunkKey>& old_chunk_keys);
78 const std::set<
ChunkKey, decltype(
set_comp)*>& diff_fragment_keys)
const override;
bool set_comp(const ChunkKey &left, const ChunkKey &right)
void refreshAppendTableInCache(const ChunkKey &table_key, const std::vector< ChunkKey > &old_chunk_keys)
std::vector< int > ChunkKey
size_t getBufferSize(const ChunkKey &key) const
bool hasStoredDataWrapper(int32_t db, int32_t tb) const
CachingForeignStorageMgr(ForeignStorageCache *cache)
size_t maxFetchSize(int32_t db_id) const override
std::map< ChunkKey, AbstractBuffer * > ChunkToBufferMap
bool hasMaxFetchSize() const override
This file includes the class specification for the cache used by the Foreign Storage Interface (FSI)...
void refreshTableInCache(const ChunkKey &table_key)
ForeignStorageCache * disk_cache_
std::set< ChunkKey > getOptionalKeysWithinSizeLimit(const ChunkKey &chunk_key, const std::set< ChunkKey, decltype(set_comp)* > &same_fragment_keys, const std::set< ChunkKey, decltype(set_comp)* > &diff_fragment_keys) const override
void eraseDataWrapper(const ChunkKey &key) override
void getChunkMetadataVecFromDataWrapper(ChunkMetadataVector &chunk_metadata, const ChunkKey &chunk_key_prefix)
void clearTable(const ChunkKey &table_key)
void refreshNonAppendTableInCache(const ChunkKey &table_key, const std::vector< ChunkKey > &old_chunk_keys)
void getChunkMetadataVecForKeyPrefix(ChunkMetadataVector &chunk_metadata, const ChunkKey &chunk_key_prefix) override
void refreshChunksInCacheByFragment(const std::vector< ChunkKey > &old_chunk_keys, int last_frag_id)
bool createDataWrapperIfNotExists(const ChunkKey &chunk_key) override
void evictChunkFromCache(const ChunkKey &chunk_key) override
An AbstractBuffer is a unit of data management for a data manager.
void populateChunkBuffersSafely(ForeignDataWrapper &data_wrapper, ChunkToBufferMap &required_buffers, ChunkToBufferMap &optional_buffers)
void refreshTable(const ChunkKey &table_key, const bool evict_cached_entries) override
bool isChunkCached(const ChunkKey &chunk_key) const override
void fetchBuffer(const ChunkKey &chunk_key, AbstractBuffer *destination_buffer, const size_t num_bytes) override
void removeTableRelatedDS(const int db_id, const int table_id) override
size_t getRequiredBuffersSize(const ChunkKey &chunk_key) const
int getHighestCachedFragId(const ChunkKey &table_key)