//===----------------------------------------------------------------------===// // DuckDB // // duckdb/storage/segment/uncompressed.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/storage/table/column_segment.hpp" namespace duckdb { class DatabaseInstance; struct UncompressedFunctions { static unique_ptr InitCompression(ColumnDataCheckpointer &checkpointer, unique_ptr state); static void Compress(CompressionState &state_p, Vector &data, idx_t count); static void FinalizeCompress(CompressionState &state_p); static void EmptySkip(ColumnSegment &segment, ColumnScanState &state, idx_t skip_count) { } }; struct FixedSizeUncompressed { static CompressionFunction GetFunction(PhysicalType data_type); }; struct ValidityUncompressed { public: static CompressionFunction GetFunction(PhysicalType data_type); public: static const validity_t LOWER_MASKS[65]; static const validity_t UPPER_MASKS[65]; }; struct StringUncompressed { public: static CompressionFunction GetFunction(PhysicalType data_type); public: //! The max string size that is allowed within a block. Strings bigger than this will be labeled as a BIG STRING and //! offloaded to the overflow blocks. static constexpr uint16_t STRING_BLOCK_LIMIT = 4096; }; } // namespace duckdb