vortex_btrblocks/schemes/
mod.rs1pub mod binary;
7pub mod bool;
8pub mod float;
9pub mod integer;
10pub mod string;
11
12pub mod decimal;
13pub mod temporal;
14
15pub(crate) mod patches;
16
17use vortex_compressor::builtins::BinaryDictScheme;
18use vortex_compressor::builtins::FloatDictScheme;
19use vortex_compressor::builtins::IntDictScheme;
20use vortex_compressor::builtins::StringDictScheme;
21use vortex_compressor::scheme::AncestorExclusion;
22use vortex_compressor::scheme::ChildSelection;
23use vortex_compressor::scheme::DescendantExclusion;
24use vortex_compressor::scheme::SchemeExt;
25
26use crate::schemes::integer::SparseScheme;
27
28fn rle_descendant_exclusions() -> Vec<DescendantExclusion> {
34 vec![
35 DescendantExclusion {
36 excluded: IntDictScheme.id(),
37 children: ChildSelection::Many(&[1, 2]),
38 },
39 DescendantExclusion {
45 excluded: SparseScheme.id(),
46 children: ChildSelection::Many(&[1, 2]),
47 },
48 ]
49}
50
51fn rle_ancestor_exclusions() -> Vec<AncestorExclusion> {
55 vec![
56 AncestorExclusion {
57 ancestor: IntDictScheme.id(),
58 children: ChildSelection::One(0),
59 },
60 AncestorExclusion {
61 ancestor: FloatDictScheme.id(),
62 children: ChildSelection::One(0),
63 },
64 AncestorExclusion {
65 ancestor: StringDictScheme.id(),
66 children: ChildSelection::One(0),
67 },
68 AncestorExclusion {
69 ancestor: BinaryDictScheme.id(),
70 children: ChildSelection::One(0),
71 },
72 ]
73}