1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//! How the keys are structured in the key value store
///
/// crate::key::version !v
/// crate::key::version::revision !vr
///
/// crate::key::root::all /
/// crate::key::root::ac /!ac{ac}
/// crate::key::root::ic /!ic{ns}{db}{tb}{ix}{nid}{uid}
/// crate::key::root::nd /!nd{nd}
/// crate::key::root::ni /!ni
/// crate::key::root::ns /!ns{ns}
/// crate::key::root::rc /!rc{kind}{ns}{db}{uid}
/// crate::key::root::tl /!tl{task}
/// crate::key::root::us /!us{us}
///
/// crate::key::node::all /${nd}
/// crate::key::node::lq /${nd}!lq{lq}{ns}{db}
///
/// crate::key::root::access::all /&{ac}
/// crate::key::root::access::gr /&{ac}!gr{gr}
///
/// crate::key::namespace::all /*{ns}
/// crate::key::namespace::ac /*{ns}!ac{ac}
/// crate::key::namespace::db /*{ns}!db{db}
/// crate::key::namespace::di /+{ns id}!di
/// crate::key::namespace::lg /*{ns}!lg{lg}
/// crate::key::namespace::us /*{ns}!us{us}
///
/// crate::key::namespace::access::all /*{ns}&{ac}
/// crate::key::namespace::access::gr /*{ns}&{ac}!gr{gr}
///
/// crate::key::database::all /*{ns}*{db}
/// crate::key::database::ac /*{ns}*{db}!ac{ac}
/// crate::key::database::az /*{ns}*{db}!az{az}
/// crate::key::database::fc /*{ns}*{db}!fn{fc}
/// crate::key::database::ml /*{ns}*{db}!ml{ml}{vn}
/// crate::key::database::pa /*{ns}*{db}!pa{pa}
/// crate::key::database::tb /*{ns}*{db}!tb{tb}
/// crate::key::database::ti /+{ns id}*{db id}!ti
/// crate::key::database::ts /*{ns}*{db}!ts{ts}
/// crate::key::database::us /*{ns}*{db}!us{us}
/// crate::key::database::vs /*{ns}*{db}!vs
/// crate::key::database::cg /*{ns}*{db}!cg{ty}
///
/// crate::key::database::access::all /*{ns}*{db}&{ac}
/// crate::key::database::access::gr /*{ns}*{db}&{ac}!gr{gr}
///
/// crate::key::table::all /*{ns}*{db}*{tb}
/// crate::key::table::ev /*{ns}*{db}*{tb}!ev{ev}
/// crate::key::table::fd /*{ns}*{db}*{tb}!fd{fd}
/// crate::key::table::ft /*{ns}*{db}*{tb}!ft{ft}
/// crate::key::table::ix /*{ns}*{db}*{tb}!ix{ix}
/// crate::key::table::lq /*{ns}*{db}*{tb}!lq{lq}
///
/// crate::key::index::all /*{ns}*{db}*{tb}+{ix}
/// crate::key::index::bc /*{ns}*{db}*{tb}+{ix}!bc{id}
/// crate::key::index::bd /*{ns}*{db}*{tb}+{ix}!bd{id}
/// crate::key::index::bf /*{ns}*{db}*{tb}+{ix}!bf{id}
/// crate::key::index::bi /*{ns}*{db}*{tb}+{ix}!bi{id}
/// crate::key::index::bk /*{ns}*{db}*{tb}+{ix}!bk{id}
/// crate::key::index::bl /*{ns}*{db}*{tb}+{ix}!bl{id}
/// crate::key::index::bo /*{ns}*{db}*{tb}+{ix}!bo{id}
/// crate::key::index::bp /*{ns}*{db}*{tb}+{ix}!bp{id}
/// crate::key::index::bs /*{ns}*{db}*{tb}+{ix}!bs
/// crate::key::index::bt /*{ns}*{db}*{tb}+{ix}!bt{id}
/// crate::key::index::bu /*{ns}*{db}*{tb}+{ix}!bu{id}
/// crate::key::index /*{ns}*{db}*{tb}+{ix}*{fd}{id}
///
/// crate::key::change /*{ns}*{db}#{ts}
///
/// crate::key::thing /*{ns}*{db}*{tb}*{id}
///
/// crate::key::graph /*{ns}*{db}*{tb}~{id}{eg}{ft}{fk}
/// crate::key::ref /*{ns}*{db}*{tb}&{id}{ft}{ff}{fk}
///
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub
pub