1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/function/compression/compression.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/function/compression_function.hpp"
12#include "duckdb/function/function_set.hpp"
13
14namespace duckdb {
15
16struct ConstantFun {
17 static CompressionFunction GetFunction(PhysicalType type);
18 static bool TypeIsSupported(PhysicalType type);
19};
20
21struct UncompressedFun {
22 static CompressionFunction GetFunction(PhysicalType type);
23 static bool TypeIsSupported(PhysicalType type);
24};
25
26struct RLEFun {
27 static CompressionFunction GetFunction(PhysicalType type);
28 static bool TypeIsSupported(PhysicalType type);
29};
30
31struct BitpackingFun {
32 static CompressionFunction GetFunction(PhysicalType type);
33 static bool TypeIsSupported(PhysicalType type);
34};
35
36struct DictionaryCompressionFun {
37 static CompressionFunction GetFunction(PhysicalType type);
38 static bool TypeIsSupported(PhysicalType type);
39};
40
41struct ChimpCompressionFun {
42 static CompressionFunction GetFunction(PhysicalType type);
43 static bool TypeIsSupported(PhysicalType type);
44};
45
46struct PatasCompressionFun {
47 static CompressionFunction GetFunction(PhysicalType type);
48 static bool TypeIsSupported(PhysicalType type);
49};
50
51struct FSSTFun {
52 static CompressionFunction GetFunction(PhysicalType type);
53 static bool TypeIsSupported(PhysicalType type);
54};
55
56} // namespace duckdb
57