Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::CompressionFunction Class Reference
Collaboration diagram for duckdb::CompressionFunction:

Public Member Functions

 CompressionFunction (CompressionType type, PhysicalType data_type, compression_init_analyze_t init_analyze, compression_analyze_t analyze, compression_final_analyze_t final_analyze, compression_init_compression_t init_compression, compression_compress_data_t compress, compression_compress_finalize_t compress_finalize, compression_init_segment_scan_t init_scan, compression_scan_vector_t scan_vector, compression_scan_partial_t scan_partial, compression_fetch_row_t fetch_row, compression_skip_t skip, compression_init_segment_t init_segment=nullptr, compression_init_append_t init_append=nullptr, compression_append_t append=nullptr, compression_finalize_append_t finalize_append=nullptr, compression_revert_append_t revert_append=nullptr, compression_serialize_state_t serialize_state=nullptr, compression_deserialize_state_t deserialize_state=nullptr, compression_visit_block_ids_t visit_block_ids=nullptr, compression_init_prefetch_t init_prefetch=nullptr, compression_select_t select=nullptr, compression_filter_t filter=nullptr)
 

Public Attributes

CompressionType type
 Compression type.
 
PhysicalType data_type
 The data type this function can compress.
 
compression_init_analyze_t init_analyze
 
compression_analyze_t analyze
 
compression_final_analyze_t final_analyze
 
compression_init_compression_t init_compression
 
compression_compress_data_t compress
 compress is called several times (once per vector in the row group)
 
compression_compress_finalize_t compress_finalize
 compress_finalize is called after
 
compression_init_prefetch_t init_prefetch
 Initialize prefetch state with required I/O data to scan this segment.
 
compression_init_segment_scan_t init_scan
 init_scan is called to set up the scan state
 
compression_scan_vector_t scan_vector
 scan_vector scans an entire vector using the scan state
 
compression_scan_partial_t scan_partial
 
compression_select_t select
 scan a subset of a vector
 
compression_filter_t filter
 Scan and apply a filter to a vector while scanning.
 
compression_fetch_row_t fetch_row
 
compression_skip_t skip
 Skip forward in the compressed segment.
 
compression_init_segment_t init_segment
 This only really needs to be defined for uncompressed segments.
 
compression_init_append_t init_append
 Initialize the append state (optional)
 
compression_append_t append
 Append to the compressed segment (optional)
 
compression_finalize_append_t finalize_append
 Finalize an append to the segment.
 
compression_revert_append_t revert_append
 Revert append (optional)
 
compression_serialize_state_t serialize_state
 This is only necessary if the segment state has information that must be written to disk in the metadata.
 
compression_deserialize_state_t deserialize_state
 Deserialize the segment state to the metadata (optional)
 
compression_visit_block_ids_t visit_block_ids
 Iterate over any extra block ids used by the compression algorithm (optional)
 
compression_get_segment_info_t get_segment_info = nullptr
 Get stringified segment information directly from reading the column segment.
 
CompressionValidity validity = CompressionValidity::REQUIRES_VALIDITY
 

Constructor & Destructor Documentation

◆ CompressionFunction()

duckdb::CompressionFunction::CompressionFunction ( CompressionType  type,
PhysicalType  data_type,
compression_init_analyze_t  init_analyze,
compression_analyze_t  analyze,
compression_final_analyze_t  final_analyze,
compression_init_compression_t  init_compression,
compression_compress_data_t  compress,
compression_compress_finalize_t  compress_finalize,
compression_init_segment_scan_t  init_scan,
compression_scan_vector_t  scan_vector,
compression_scan_partial_t  scan_partial,
compression_fetch_row_t  fetch_row,
compression_skip_t  skip,
compression_init_segment_t  init_segment = nullptr,
compression_init_append_t  init_append = nullptr,
compression_append_t  append = nullptr,
compression_finalize_append_t  finalize_append = nullptr,
compression_revert_append_t  revert_append = nullptr,
compression_serialize_state_t  serialize_state = nullptr,
compression_deserialize_state_t  deserialize_state = nullptr,
compression_visit_block_ids_t  visit_block_ids = nullptr,
compression_init_prefetch_t  init_prefetch = nullptr,
compression_select_t  select = nullptr,
compression_filter_t  filter = nullptr 
)
inline
48860 }
compression_init_segment_scan_t init_scan
init_scan is called to set up the scan state
Definition duckdb.hpp:48891
compression_visit_block_ids_t visit_block_ids
Iterate over any extra block ids used by the compression algorithm (optional)
Definition duckdb.hpp:48930
compression_analyze_t analyze
Definition duckdb.hpp:48873
compression_finalize_append_t finalize_append
Finalize an append to the segment.
Definition duckdb.hpp:48918
compression_scan_partial_t scan_partial
Definition duckdb.hpp:48897
compression_init_compression_t init_compression
Definition duckdb.hpp:48882
compression_scan_vector_t scan_vector
scan_vector scans an entire vector using the scan state
Definition duckdb.hpp:48893
compression_revert_append_t revert_append
Revert append (optional)
Definition duckdb.hpp:48920
compression_compress_finalize_t compress_finalize
compress_finalize is called after
Definition duckdb.hpp:48886
CompressionType type
Compression type.
Definition duckdb.hpp:48863
compression_select_t select
scan a subset of a vector
Definition duckdb.hpp:48899
compression_append_t append
Append to the compressed segment (optional)
Definition duckdb.hpp:48916
compression_serialize_state_t serialize_state
This is only necessary if the segment state has information that must be written to disk in the metad...
Definition duckdb.hpp:48926
compression_deserialize_state_t deserialize_state
Deserialize the segment state to the metadata (optional)
Definition duckdb.hpp:48928
PhysicalType data_type
The data type this function can compress.
Definition duckdb.hpp:48865
compression_filter_t filter
Scan and apply a filter to a vector while scanning.
Definition duckdb.hpp:48901
compression_init_prefetch_t init_prefetch
Initialize prefetch state with required I/O data to scan this segment.
Definition duckdb.hpp:48889
compression_skip_t skip
Skip forward in the compressed segment.
Definition duckdb.hpp:48906
compression_fetch_row_t fetch_row
Definition duckdb.hpp:48904
compression_compress_data_t compress
compress is called several times (once per vector in the row group)
Definition duckdb.hpp:48884
compression_init_append_t init_append
Initialize the append state (optional)
Definition duckdb.hpp:48914
compression_init_segment_t init_segment
This only really needs to be defined for uncompressed segments.
Definition duckdb.hpp:48912
compression_init_analyze_t init_analyze
Definition duckdb.hpp:48869
compression_final_analyze_t final_analyze
Definition duckdb.hpp:48878

Member Data Documentation

◆ init_analyze

compression_init_analyze_t duckdb::CompressionFunction::init_analyze

Analyze step: determine which compression function is the most effective init_analyze is called once to set up the analyze state

◆ analyze

compression_analyze_t duckdb::CompressionFunction::analyze

analyze is called several times (once per vector in the row group) analyze should return true, unless compression is no longer possible with this compression method in that case false should be returned

◆ final_analyze

compression_final_analyze_t duckdb::CompressionFunction::final_analyze

final_analyze should return the score of the compression function ideally this is the exact number of bytes required to store the data this is not required/enforced: it can be an estimate as well also this function can return DConstants::INVALID_INDEX to skip this compression method

◆ init_compression

compression_init_compression_t duckdb::CompressionFunction::init_compression

Compression step: actually compress the data init_compression is called once to set up the comperssion state

◆ scan_partial

compression_scan_partial_t duckdb::CompressionFunction::scan_partial

scan_partial scans a subset of a vector this can request > vector_size as well this is used if a vector crosses segment boundaries, or for child columns of lists

◆ fetch_row

compression_fetch_row_t duckdb::CompressionFunction::fetch_row

fetch an individual row from the compressed vector used for index lookups

◆ init_segment

compression_init_segment_t duckdb::CompressionFunction::init_segment

This only really needs to be defined for uncompressed segments.

Initialize a compressed segment (optional)

◆ serialize_state

compression_serialize_state_t duckdb::CompressionFunction::serialize_state

This is only necessary if the segment state has information that must be written to disk in the metadata.

Serialize the segment state to the metadata (optional)

◆ get_segment_info

compression_get_segment_info_t duckdb::CompressionFunction::get_segment_info = nullptr

Get stringified segment information directly from reading the column segment.

This is only necessary if you want to convey more information about the segment in the 'pragma_storage_info' result

◆ validity

CompressionValidity duckdb::CompressionFunction::validity = CompressionValidity::REQUIRES_VALIDITY

Whether the validity mask should be separately compressed or this compression function can also be used to decompress the validity


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