Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
246 changes: 246 additions & 0 deletions docs/COUNTED_SKIP_DESIGN.md

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions grovedb/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,13 @@ use grovedb_visualize::DebugByteVectors;
/// callable from outside the crate but its return type unnameable.
#[cfg(feature = "minimal")]
pub use operations::get::{AxisAggregateValue, PathQueryRun};
// Gated on `minimal` alone, matching `operations::indexed_tree` itself: the
// only APIs that produce an `IndexedTopKPage` are the paginated indexed-axis
// reads, which need storage. A verify-only build consumes proofs and can
// never name this type, so widening the gate here to `any(minimal, verify)`
// only breaks that cut on an unresolved import.
#[cfg(feature = "minimal")]
pub use operations::indexed_tree::IndexedTopKPage;
#[cfg(any(feature = "minimal", feature = "verify"))]
Comment thread
shumkov marked this conversation as resolved.
pub use query::{
aggregate_sum_path_query::AggregateSumPathQuery, AggregateKind, GroveBranchQueryResult,
Expand Down
3 changes: 3 additions & 0 deletions grovedb/src/operations/get/run_path_query.rs
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,7 @@ impl GroveDb {
transaction,
grove_version
)
.map_ok(|page| page.entries)
)),
IndexAxis::Sum => AxisEntries::Sum(cost_return_on_error!(
&mut cost,
Expand All @@ -520,6 +521,7 @@ impl GroveDb {
transaction,
grove_version
)
.map_ok(|page| page.entries)
)),
IndexAxis::Avg => AxisEntries::Avg(cost_return_on_error!(
&mut cost,
Expand All @@ -531,6 +533,7 @@ impl GroveDb {
transaction,
grove_version
)
.map_ok(|page| page.entries)
)),
};
Ok(entries).wrap_with_cost(cost)
Expand Down
747 changes: 647 additions & 100 deletions grovedb/src/operations/indexed_tree.rs

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions grovedb/src/tests/axis_descent_proof_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ mod tests {
)
.unwrap()
.expect("direct read");
assert_eq!(entries_as_sum(&entries), direct.as_slice());
assert_eq!(entries_as_sum(&entries), direct.entries.as_slice());

// ...and to the standalone envelope over the same state.
let standalone_bytes = db
Expand Down Expand Up @@ -234,7 +234,7 @@ mod tests {
)
.unwrap()
.expect("direct");
assert_eq!(entries_as_sum(&entries), direct.as_slice());
assert_eq!(entries_as_sum(&entries), direct.entries.as_slice());
}
other => panic!("expected AxisEntries, got {other:?}"),
}
Expand Down Expand Up @@ -358,7 +358,7 @@ mod tests {
)
.unwrap()
.expect("direct");
assert_eq!(entries_as_sum(&entries), direct.as_slice());
assert_eq!(entries_as_sum(&entries), direct.entries.as_slice());
}
other => panic!("expected AxisEntries, got {other:?}"),
}
Expand Down Expand Up @@ -411,7 +411,7 @@ mod tests {
.expect("direct");
assert_eq!(
entries_as_sum(entries.as_ref().expect("present")),
direct.as_slice()
direct.entries.as_slice()
);
}
}
Expand Down Expand Up @@ -906,7 +906,7 @@ mod tests {
.indexed_count_top_k_paginated(path.as_ref(), 2, 0, true, None, grove_version)
.unwrap()
.expect("direct count top-k");
assert_eq!(entries, AxisEntries::Count(direct));
assert_eq!(entries, AxisEntries::Count(direct.entries));
}
other => panic!("expected AxisEntries, got {other:?}"),
}
Expand Down
Loading
Loading