27 #ifndef Hypertable_RangeServer_CellCacheManager_h
28 #define Hypertable_RangeServer_CellCacheManager_h
237 #endif // Hypertable_RangeServer_CellCacheManager_h
void install_new_active_cache(CellCachePtr new_cache)
Installs a new active cache.
Represents a sorted list of key/value pairs in memory.
void add_counter(const Key &key, const ByteString value)
Inserts a key/value pair for a counter column into the active cache.
int64_t logical_size()
Returns the logical amount of memory used by the active and immutable caches.
CellCachePtr m_active_cache
Active cache.
Manages the cell cache of an access group.
void populate_key_set(KeySet &keys)
Populates a set with all keys in the cell caches.
Declarations for MergeScannerAccessGroup.
void add_immutable_scanner(MergeScannerAccessGroup *mscanner, ScanContext *scan_ctx)
Creates a scanner on the immutable cache and adds it to a merge scanner.
void drop_immutable_cache()
Drops the immutable cache.
size_t immutable_items()
Returns the number of cells in the immutable cache.
int64_t memory_used()
Returns the amount of memory used by the active and immutable caches.
int32_t delete_count()
Returns the number of deletes present in the caches.
Scan context information.
virtual ~CellCacheManager()
Destructor.
CellCachePtr & immutable_cache()
Returns a pointer to the immutable cache.
void split_row_estimate_data(CellList::SplitRowDataMapT &split_row_data)
Populates map of split row data.
A class managing one or more serializable ByteStrings.
std::set< Key, key_revision_lt > KeySet
void add_scanners(MergeScannerAccessGroup *scanner, ScanContext *scan_ctx)
Creates scanners on the active and immutable caches and adds them to a merge scanner.
void unlock()
Unlocks the active cache.
std::map< const char *, int64_t, LtCstr, SplitRowDataAlloc > SplitRowDataMapT
bool empty()
Checks if active and immutable caches are empty.
Declarations for ScanContext.
Provides access to internal components of opaque key.
CellListScannerPtr create_immutable_scanner(ScanContext *scan_ctx)
Creates and returns a scanner on the immutable cache.
void get_cache_statistics(CellCache::Statistics &stats)
Gets cache statistics.
CellCachePtr & active_cache()
Returns a pointer to the active cache.
CellCachePtr m_immutable_cache
Immutable cache.
std::shared_ptr< Schema > SchemaPtr
Smart pointer to Schema.
std::shared_ptr< CellListScanner > CellListScannerPtr
bool immutable_cache_empty()
Checks if immutable cache is not installed or is empty.
void freeze()
Freezes the active cache.
std::shared_ptr< CellCacheManager > CellCacheManagerPtr
Smart pointer to CellCacheManager.
void lock()
Locks the active cache.
void merge_caches(SchemaPtr &schema)
Merges immutable cache into active cache.
CellCacheManager()
Constructor.
std::shared_ptr< CellCache > CellCachePtr
Shared smart pointer to CellCache.
void add(const Key &key, const ByteString value)
Inserts a key/value pair to the active cache.
Merge scanner for access groups.
void install_new_immutable_cache(CellCachePtr new_cache)
Installs a new immutable cache.