vortex_btrblocks/schemes/
mod.rs1pub mod binary;
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::BinaryDictScheme;
17use vortex_compressor::builtins::FloatDictScheme;
18use vortex_compressor::builtins::IntDictScheme;
19use vortex_compressor::builtins::StringDictScheme;
20use vortex_compressor::scheme::AncestorExclusion;
21use vortex_compressor::scheme::ChildSelection;
22use vortex_compressor::scheme::DescendantExclusion;
23use vortex_compressor::scheme::SchemeExt;
24
25use crate::schemes::integer::SparseScheme;
26
27fn rle_descendant_exclusions() -> Vec<DescendantExclusion> {
33 vec![
34 DescendantExclusion {
35 excluded: IntDictScheme.id(),
36 children: ChildSelection::Many(&[1, 2]),
37 },
38 DescendantExclusion {
44 excluded: SparseScheme.id(),
45 children: ChildSelection::Many(&[1, 2]),
46 },
47 ]
48}
49
50fn rle_ancestor_exclusions() -> Vec<AncestorExclusion> {
54 vec![
55 AncestorExclusion {
56 ancestor: IntDictScheme.id(),
57 children: ChildSelection::One(0),
58 },
59 AncestorExclusion {
60 ancestor: FloatDictScheme.id(),
61 children: ChildSelection::One(0),
62 },
63 AncestorExclusion {
64 ancestor: StringDictScheme.id(),
65 children: ChildSelection::One(0),
66 },
67 AncestorExclusion {
68 ancestor: BinaryDictScheme.id(),
69 children: ChildSelection::One(0),
70 },
71 ]
72}