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