Class ForeignStorageBufferMgr

class ForeignStorageBufferMgr : public AbstractBufferMgr

Public Functions

ForeignStorageBufferMgr(const int db_id, const int table_id, PersistentForeignStorageInterface *persistent_foreign_storage)
void checkpoint()
Data_Namespace::AbstractBuffer *createBuffer(const ChunkKey &key, const size_t pageSize = 0, const size_t initialSize = 0)
Data_Namespace::AbstractBuffer *getBuffer(const ChunkKey &key, const size_t numBytes = 0)
void fetchBuffer(const ChunkKey &key, Data_Namespace::AbstractBuffer *destBuffer, const size_t numBytes = 0)
void getChunkMetadataVecForKeyPrefix(ChunkMetadataVector &chunkMetadataVec, const ChunkKey &keyPrefix)
std::string getStringMgrType()
size_t getNumChunks()
void deleteBuffer(const ChunkKey &key, const bool purge = true)
void deleteBuffersWithPrefix(const ChunkKey &keyPrefix, const bool purge = true)
Data_Namespace::AbstractBuffer *putBuffer(const ChunkKey &key, Data_Namespace::AbstractBuffer *srcBuffer, const size_t numBytes = 0)
bool isBufferOnDevice(const ChunkKey &key)
std::string printSlabs()
size_t getMaxSize()
size_t getInUseSize()
size_t getAllocated()
bool isAllocationCapped()
void checkpoint(const int db_id, const int tb_id)
Data_Namespace::AbstractBuffer *alloc(const size_t numBytes = 0)
void free(Data_Namespace::AbstractBuffer *buffer)
MgrType getMgrType()
void removeTableRelatedDS(const int db_id, const int table_id)

Private Members

PersistentForeignStorageInterface *persistent_foreign_storage_
std::map<ChunkKey, std::unique_ptr<ForeignStorageBuffer>> chunk_index_
mapd_shared_mutex chunk_index_mutex_