29 namespace Fragmenter_Namespace {
30 class InsertOrderFragmenter;
34 namespace Catalog_Namespace {
41 std::pair<const TableDescriptor*, Fragmenter_Namespace::FragmentInfo*>;
70 void addDirtyChunk(std::shared_ptr<Chunk_NS::Chunk> chunk,
int fragment_id);
Data_Namespace::MemoryLevel memoryLevel
void setNumTuple(const MetaDataKey &key, size_t num_tuple)
class for a per-database catalog. also includes metadata for the current database and the current use...
const TableDescriptor * table_descriptor
std::pair< const TableDescriptor *, Fragmenter_Namespace::FragmentInfo * > MetaDataKey
void addDirtyChunk(std::shared_ptr< Chunk_NS::Chunk > chunk, int fragment_id)
void updateFragmenterAndCleanupChunks()
std::map< MetaDataKey, ChunkMetadataMap > chunk_metadata_map_per_fragment
std::map< MetaDataKey, size_t > num_tuples
const Catalog_Namespace::Catalog * catalog
Used by Fragmenter classes to store info about each fragment - the fragment id and number of tuples(r...
ChunkMetadataMap getChunkMetadataMap(const MetaDataKey &key) const
void initializeUnsetMetadata(const TableDescriptor *td, Fragmenter_Namespace::FragmentInfo &fragment_info)
heavyai::shared_mutex chunk_update_tracker_mutex
std::shared_ptr< ChunkMetadata > getChunkMetadata(const MetaDataKey &key, int32_t column_id, Fragmenter_Namespace::FragmentInfo &fragment_info)
size_t getNumTuple(const MetaDataKey &key) const
std::shared_timed_mutex shared_mutex
std::map< ChunkKey, std::shared_ptr< Chunk_NS::Chunk > > dirty_chunks