Current section
Files
Jump to
Current section
Files
c_src/duckdb/src/include/duckdb/storage/segment/uncompressed.hpp
//===----------------------------------------------------------------------===//
// DuckDB
//
// duckdb/storage/segment/uncompressed.hpp
//
//
//===----------------------------------------------------------------------===//
#pragma once
#include "duckdb/storage/table/column_segment.hpp"
namespace duckdb {
class DatabaseInstance;
struct UncompressedFunctions {
static unique_ptr<CompressionState> InitCompression(ColumnDataCheckpointer &checkpointer,
unique_ptr<AnalyzeState> 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