Class HashingSchemeRecycler

class HashingSchemeRecycler : public DataRecycler<std::optional<HashType>, EMPTY_META_INFO>

Public Functions

HashingSchemeRecycler()
numeric_limits()
numeric_limits()
void putItemToCache(QueryPlanHash key, std::optional<HashType> item, CacheItemType item_type, DeviceIdentifier device_identifier, size_t item_size, size_t compute_time, std::optional<EMPTY_META_INFO> meta_info = std::nullopt)
void initCache()
void clearCache()
void markCachedItemAsDirty(size_t table_key, std::unordered_set<QueryPlanHash> &key_set, CacheItemType item_type, DeviceIdentifier device_identifier)
std::string toString() const

Private Functions

bool hasItemInCache(QueryPlanHash key, CacheItemType item_type, DeviceIdentifier device_identifier, std::lock_guard<std::mutex> &lock, std::optional<EMPTY_META_INFO> meta_info = std::nullopt) const
void removeItemFromCache(QueryPlanHash key, CacheItemType item_type, DeviceIdentifier device_identifier, std::lock_guard<std::mutex> &lock, std::optional<EMPTY_META_INFO> meta_info = std::nullopt)
void cleanupCacheForInsertion(CacheItemType item_type, DeviceIdentifier device_identifier, size_t required_size, std::lock_guard<std::mutex> &lock, std::optional<EMPTY_META_INFO> meta_info = std::nullopt)