···
-
nsid: nsid.to_string(),
-
creates: merged.counts().creates,
-
dids_estimate: merged.dids().estimate() as u64,
let next_cursor = current_nsid.map(|s| s.to_db_bytes()).transpose()?;
···
-
.map(|(nsid, cv)| NsidCount {
-
nsid: nsid.to_string(),
-
creates: cv.counts().creates,
-
dids_estimate: cv.dids().estimate() as u64,
···
let mut prefix_count = CountsValue::default();
#[derive(Debug, Clone, PartialEq)]
fn from_prefix(nsid: &Nsid, prefix: &NsidPrefix) -> Option<Self> {
if prefix.is_group_of(nsid) {
-
return Some(Child::FullNsid(nsid.to_string()));
let suffix = nsid.as_str().strip_prefix(&format!("{}.", prefix.0))?;
let (segment, _) = suffix.split_once('.').unwrap();
···
fn is_before(&self, other: &Child) -> bool {
-
(Child::FullNsid(s), Child::ChildPrefix(o)) if s == o => true,
-
(Child::ChildPrefix(s), Child::FullNsid(o)) if s == o => false,
-
(Child::FullNsid(s), Child::FullNsid(o)) => s < o,
(Child::ChildPrefix(s), Child::ChildPrefix(o)) => s < o,
-
(Child::FullNsid(s), Child::ChildPrefix(o)) => s < o,
-
(Child::ChildPrefix(s), Child::FullNsid(o)) => s < o,
fn into_inner(self) -> String {
-
Child::FullNsid(s) => s,
Child::ChildPrefix(s) => s,
···
-
Child::FullNsid(nsid) => PrefixChild::Collection(NsidCount {
-
creates: merged.counts().creates,
-
dids_estimate: merged.dids().estimate() as u64,
-
Child::ChildPrefix(prefix) => PrefixChild::Prefix(PrefixCount {
-
creates: merged.counts().creates,
-
dids_estimate: merged.dids().estimate() as u64,
···
for kv in self.rollups.range((start, end)) {
let (key_bytes, val_bytes) = kv?;
let key = db_complete::<AllTimeRollupKey>(&key_bytes)?;
-
let nsid = key.collection().as_str().to_string();
let counts = db_complete::<CountsValue>(&val_bytes)?;
-
matches.push(NsidCount {
-
creates: counts.counts().creates,
-
dids_estimate: counts.dids().estimate() as u64,
···
vec![PrefixChild::Collection(NsidCount {
nsid: "a.a.a".to_string(),
···
vec![PrefixChild::Prefix(PrefixCount {
prefix: "a.a.a".to_string(),
assert_eq!(cursor, None);
···
vec![PrefixChild::Prefix(PrefixCount {
prefix: "a.a.a".to_string(),
···
PrefixChild::Collection(NsidCount {
nsid: "a.a.a.a".to_string(),
PrefixChild::Prefix(PrefixCount {
prefix: "a.a.a.a".to_string(),
···
+
out.push(NsidCount::new(&nsid, &merged));
let next_cursor = current_nsid.map(|s| s.to_db_bytes()).transpose()?;
···
+
.map(|(nsid, cv)| NsidCount::new(&nsid, &cv))
···
let mut prefix_count = CountsValue::default();
#[derive(Debug, Clone, PartialEq)]
fn from_prefix(nsid: &Nsid, prefix: &NsidPrefix) -> Option<Self> {
if prefix.is_group_of(nsid) {
+
return Some(Child::FullNsid(nsid.clone()));
let suffix = nsid.as_str().strip_prefix(&format!("{}.", prefix.0))?;
let (segment, _) = suffix.split_once('.').unwrap();
···
fn is_before(&self, other: &Child) -> bool {
+
(Child::FullNsid(s), Child::ChildPrefix(o)) if s.as_str() == o => true,
+
(Child::ChildPrefix(s), Child::FullNsid(o)) if s == o.as_str() => false,
+
(Child::FullNsid(s), Child::FullNsid(o)) => s.as_str() < o.as_str(),
(Child::ChildPrefix(s), Child::ChildPrefix(o)) => s < o,
+
(Child::FullNsid(s), Child::ChildPrefix(o)) => s.to_string() < *o,
+
(Child::ChildPrefix(s), Child::FullNsid(o)) => *s < o.to_string(),
fn into_inner(self) -> String {
+
Child::FullNsid(s) => s.to_string(),
Child::ChildPrefix(s) => s,
···
+
Child::FullNsid(nsid) => PrefixChild::Collection(NsidCount::new(&nsid, &merged)),
+
Child::ChildPrefix(prefix) => {
+
PrefixChild::Prefix(PrefixCount::new(&prefix, &merged))
···
for kv in self.rollups.range((start, end)) {
let (key_bytes, val_bytes) = kv?;
let key = db_complete::<AllTimeRollupKey>(&key_bytes)?;
+
let nsid = key.collection();
let counts = db_complete::<CountsValue>(&val_bytes)?;
+
matches.push(NsidCount::new(nsid, &counts));
···
vec![PrefixChild::Collection(NsidCount {
nsid: "a.a.a".to_string(),
···
vec![PrefixChild::Prefix(PrefixCount {
prefix: "a.a.a".to_string(),
assert_eq!(cursor, None);
···
vec![PrefixChild::Prefix(PrefixCount {
prefix: "a.a.a".to_string(),
···
PrefixChild::Collection(NsidCount {
nsid: "a.a.a.a".to_string(),
PrefixChild::Prefix(PrefixCount {
prefix: "a.a.a.a".to_string(),