MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / size_bytes

Method size_bytes

graphlite/src/cache/subquery_cache.rs:71–99  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

69
70impl CacheValue for SubqueryResult {
71 fn size_bytes(&self) -> usize {
72 match self {
73 SubqueryResult::Boolean(_) => std::mem::size_of::<bool>(),
74 SubqueryResult::Scalar(Some(value)) => {
75 std::mem::size_of::<Value>()
76 + match value {
77 Value::String(s) => s.len(),
78 _ => 0,
79 }
80 }
81 SubqueryResult::Scalar(None) => std::mem::size_of::<Option<Value>>(),
82 SubqueryResult::Set(values) => {
83 values.len() * std::mem::size_of::<Value>()
84 + values
85 .iter()
86 .map(|v| match v {
87 Value::String(s) => s.len(),
88 _ => 0,
89 })
90 .sum::<usize>()
91 }
92 SubqueryResult::FullResult(result) => {
93 let base_size = std::mem::size_of::<QueryResult>();
94 let rows_size = result.rows.len() * std::mem::size_of::<Row>();
95 let variables_size = result.variables.iter().map(|var| var.len()).sum::<usize>();
96 base_size + rows_size + variables_size
97 }
98 }
99 }
100
101 fn is_valid(&self) -> bool {
102 // All subquery results are valid by default

Callers 5

getMethod · 0.45
insertMethod · 0.45
evict_if_neededMethod · 0.45

Calls 2

lenMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected