OmniSciDB  06b3bd477c
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Fragmenter_Namespace::AbstractFragmenter Class Referenceabstract

#include <AbstractFragmenter.h>

+ Inheritance diagram for Fragmenter_Namespace::AbstractFragmenter:

Public Member Functions

virtual ~AbstractFragmenter ()
 
virtual TableInfo getFragmentsForQuery ()=0
 Should get the partitions(fragments) where at least one tuple could satisfy the (optional) provided predicate, given any statistics on data distribution the partitioner keeps. May also prune the predicate. More...
 
virtual void insertData (InsertData &insertDataStruct)=0
 Given data wrapped in an InsertData struct, inserts it into the correct partitions with locks and checkpoints. More...
 
virtual void insertDataNoCheckpoint (InsertData &insertDataStruct)=0
 Given data wrapped in an InsertData struct, inserts it into the correct partitions No locks and checkpoints taken needs to be managed externally. More...
 
virtual void dropFragmentsToSize (const size_t maxRows)=0
 Will truncate table to less than maxRows by dropping fragments. More...
 
virtual void updateChunkStats (const ColumnDescriptor *cd, std::unordered_map< int, ChunkStats > &stats_map)=0
 Update chunk stats. More...
 
virtual FragmentInfogetFragmentInfo (const int fragment_id) const =0
 Retrieve the fragment info object for an individual fragment for editing. More...
 
virtual int getFragmenterId ()=0
 Gets the id of the partitioner. More...
 
virtual std::string getFragmenterType ()=0
 Gets the string type of the partitioner. More...
 
virtual size_t getNumRows ()=0
 
virtual void setNumRows (const size_t numTuples)=0
 
virtual void updateColumn (const Catalog_Namespace::Catalog *catalog, const TableDescriptor *td, const ColumnDescriptor *cd, const int fragment_id, const std::vector< uint64_t > &frag_offsets, const std::vector< ScalarTargetValue > &rhs_values, const SQLTypeInfo &rhs_type, const Data_Namespace::MemoryLevel memory_level, UpdelRoll &updel_roll)=0
 
virtual void updateColumns (const Catalog_Namespace::Catalog *catalog, const TableDescriptor *td, const int fragmentId, const std::vector< TargetMetaInfo > sourceMetaInfo, const std::vector< const ColumnDescriptor * > columnDescriptors, const RowDataProvider &sourceDataProvider, const size_t indexOffFragmentOffsetColumn, const Data_Namespace::MemoryLevel memoryLevel, UpdelRoll &updelRoll, Executor *executor)=0
 
virtual void updateColumn (const Catalog_Namespace::Catalog *catalog, const TableDescriptor *td, const ColumnDescriptor *cd, const int fragment_id, const std::vector< uint64_t > &frag_offsets, const ScalarTargetValue &rhs_value, const SQLTypeInfo &rhs_type, const Data_Namespace::MemoryLevel memory_level, UpdelRoll &updel_roll)=0
 
virtual void updateColumnMetadata (const ColumnDescriptor *cd, FragmentInfo &fragment, std::shared_ptr< Chunk_NS::Chunk > chunk, const bool null, const double dmax, const double dmin, const int64_t lmax, const int64_t lmin, const SQLTypeInfo &rhs_type, UpdelRoll &updel_roll)=0
 
virtual void updateMetadata (const Catalog_Namespace::Catalog *catalog, const MetaDataKey &key, UpdelRoll &updel_roll)=0
 
virtual void compactRows (const Catalog_Namespace::Catalog *catalog, const TableDescriptor *td, const int fragmentId, const std::vector< uint64_t > &fragOffsets, const Data_Namespace::MemoryLevel memoryLevel, UpdelRoll &updelRoll)=0
 
virtual const std::vector
< uint64_t > 
getVacuumOffsets (const std::shared_ptr< Chunk_NS::Chunk > &chunk)=0
 
virtual void dropColumns (const std::vector< int > &columnIds)=0
 
virtual bool hasDeletedRows (const int delete_column_id)=0
 Iterates through chunk metadata to return whether any rows have been deleted. More...
 

Detailed Description

Definition at line 85 of file AbstractFragmenter.h.

Constructor & Destructor Documentation

virtual Fragmenter_Namespace::AbstractFragmenter::~AbstractFragmenter ( )
inlinevirtual

Definition at line 87 of file AbstractFragmenter.h.

87 {}

Member Function Documentation

virtual void Fragmenter_Namespace::AbstractFragmenter::compactRows ( const Catalog_Namespace::Catalog catalog,
const TableDescriptor td,
const int  fragmentId,
const std::vector< uint64_t > &  fragOffsets,
const Data_Namespace::MemoryLevel  memoryLevel,
UpdelRoll updelRoll 
)
pure virtual
virtual void Fragmenter_Namespace::AbstractFragmenter::dropColumns ( const std::vector< int > &  columnIds)
pure virtual
virtual void Fragmenter_Namespace::AbstractFragmenter::dropFragmentsToSize ( const size_t  maxRows)
pure virtual

Will truncate table to less than maxRows by dropping fragments.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter.

virtual int Fragmenter_Namespace::AbstractFragmenter::getFragmenterId ( )
pure virtual

Gets the id of the partitioner.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter.

virtual std::string Fragmenter_Namespace::AbstractFragmenter::getFragmenterType ( )
pure virtual

Gets the string type of the partitioner.

Todo:
have a method returning the enum type?

Implemented in Fragmenter_Namespace::InsertOrderFragmenter.

virtual FragmentInfo* Fragmenter_Namespace::AbstractFragmenter::getFragmentInfo ( const int  fragment_id) const
pure virtual

Retrieve the fragment info object for an individual fragment for editing.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter.

virtual TableInfo Fragmenter_Namespace::AbstractFragmenter::getFragmentsForQuery ( )
pure virtual

Should get the partitions(fragments) where at least one tuple could satisfy the (optional) provided predicate, given any statistics on data distribution the partitioner keeps. May also prune the predicate.

Get all fragments for the current table.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter.

virtual size_t Fragmenter_Namespace::AbstractFragmenter::getNumRows ( )
pure virtual
virtual const std::vector<uint64_t> Fragmenter_Namespace::AbstractFragmenter::getVacuumOffsets ( const std::shared_ptr< Chunk_NS::Chunk > &  chunk)
pure virtual
virtual bool Fragmenter_Namespace::AbstractFragmenter::hasDeletedRows ( const int  delete_column_id)
pure virtual

Iterates through chunk metadata to return whether any rows have been deleted.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter.

virtual void Fragmenter_Namespace::AbstractFragmenter::insertData ( InsertData insertDataStruct)
pure virtual

Given data wrapped in an InsertData struct, inserts it into the correct partitions with locks and checkpoints.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter, and Fragmenter_Namespace::SortedOrderFragmenter.

virtual void Fragmenter_Namespace::AbstractFragmenter::insertDataNoCheckpoint ( InsertData insertDataStruct)
pure virtual

Given data wrapped in an InsertData struct, inserts it into the correct partitions No locks and checkpoints taken needs to be managed externally.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter, and Fragmenter_Namespace::SortedOrderFragmenter.

virtual void Fragmenter_Namespace::AbstractFragmenter::setNumRows ( const size_t  numTuples)
pure virtual
virtual void Fragmenter_Namespace::AbstractFragmenter::updateChunkStats ( const ColumnDescriptor cd,
std::unordered_map< int, ChunkStats > &  stats_map 
)
pure virtual

Update chunk stats.

Implemented in Fragmenter_Namespace::InsertOrderFragmenter.

virtual void Fragmenter_Namespace::AbstractFragmenter::updateColumn ( const Catalog_Namespace::Catalog catalog,
const TableDescriptor td,
const ColumnDescriptor cd,
const int  fragment_id,
const std::vector< uint64_t > &  frag_offsets,
const std::vector< ScalarTargetValue > &  rhs_values,
const SQLTypeInfo rhs_type,
const Data_Namespace::MemoryLevel  memory_level,
UpdelRoll updel_roll 
)
pure virtual
virtual void Fragmenter_Namespace::AbstractFragmenter::updateColumn ( const Catalog_Namespace::Catalog catalog,
const TableDescriptor td,
const ColumnDescriptor cd,
const int  fragment_id,
const std::vector< uint64_t > &  frag_offsets,
const ScalarTargetValue rhs_value,
const SQLTypeInfo rhs_type,
const Data_Namespace::MemoryLevel  memory_level,
UpdelRoll updel_roll 
)
pure virtual
virtual void Fragmenter_Namespace::AbstractFragmenter::updateColumnMetadata ( const ColumnDescriptor cd,
FragmentInfo fragment,
std::shared_ptr< Chunk_NS::Chunk chunk,
const bool  null,
const double  dmax,
const double  dmin,
const int64_t  lmax,
const int64_t  lmin,
const SQLTypeInfo rhs_type,
UpdelRoll updel_roll 
)
pure virtual
virtual void Fragmenter_Namespace::AbstractFragmenter::updateColumns ( const Catalog_Namespace::Catalog catalog,
const TableDescriptor td,
const int  fragmentId,
const std::vector< TargetMetaInfo sourceMetaInfo,
const std::vector< const ColumnDescriptor * >  columnDescriptors,
const RowDataProvider sourceDataProvider,
const size_t  indexOffFragmentOffsetColumn,
const Data_Namespace::MemoryLevel  memoryLevel,
UpdelRoll updelRoll,
Executor executor 
)
pure virtual
virtual void Fragmenter_Namespace::AbstractFragmenter::updateMetadata ( const Catalog_Namespace::Catalog catalog,
const MetaDataKey key,
UpdelRoll updel_roll 
)
pure virtual

The documentation for this class was generated from the following file: