mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-06-12 16:03:31 -07:00
parser: db: improve iter function
This commit is contained in:
@@ -15,7 +15,7 @@ use derive_deref::{Deref, DerefMut};
|
||||
//
|
||||
// Possible compression: https://pijul.org/posts/sanakirja-zstd/
|
||||
use sanakirja::{
|
||||
btree::{self, page, Db_},
|
||||
btree::{self, page, Db_, Iter},
|
||||
direct_repr, Commit, Env, Error, MutTxn, RootDb, Storable, UnsizedStorable,
|
||||
};
|
||||
|
||||
@@ -60,13 +60,8 @@ where
|
||||
})
|
||||
}
|
||||
|
||||
pub fn iter<F>(&self, callback: &mut F)
|
||||
where
|
||||
F: FnMut((&Key, &Value)),
|
||||
{
|
||||
btree::iter(&self.txn, &self.db, None)
|
||||
.unwrap()
|
||||
.for_each(|entry| callback(entry.unwrap()));
|
||||
pub fn iter(&self) -> Iter<'_, MutTxn<Env, ()>, Key, Value, page::Page<Key, Value>> {
|
||||
btree::iter(&self.txn, &self.db, None).unwrap()
|
||||
}
|
||||
|
||||
pub fn get(&self, key: &Key) -> Option<&Value> {
|
||||
|
||||
@@ -92,7 +92,11 @@ impl AddressIndexToAddressData {
|
||||
.par_iter()
|
||||
.map(|(_, database)| {
|
||||
let mut s = AddressCohortsDurableStates::default();
|
||||
database.iter(&mut |(_, a)| s.increment(a).unwrap());
|
||||
|
||||
database
|
||||
.iter()
|
||||
.map(|r| r.unwrap().1)
|
||||
.for_each(|address_data| s.increment(address_data).unwrap());
|
||||
s
|
||||
})
|
||||
.sum()
|
||||
|
||||
Generated
+12
-12
@@ -1781,9 +1781,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ordered-float"
|
||||
version = "4.3.0"
|
||||
version = "4.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537"
|
||||
checksum = "83e7ccb95e240b7c9506a3d544f10d935e142cc90b0a1d56954fb44d89ad6b97"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
]
|
||||
@@ -2168,9 +2168,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.12.8"
|
||||
version = "0.12.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b"
|
||||
checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"bytes",
|
||||
@@ -2327,9 +2327,9 @@ checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5"
|
||||
|
||||
[[package]]
|
||||
name = "sanakirja"
|
||||
version = "1.4.2"
|
||||
version = "1.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "450d6e757837c485e85fe8d5bd7aae9592da139a55036a4f64cec2b9984c6953"
|
||||
checksum = "81aaf70d064e2122209f04d01fd91e8908e7a327b516236e1cbc0c3f34ac6d11"
|
||||
dependencies = [
|
||||
"fs2",
|
||||
"log",
|
||||
@@ -2437,18 +2437,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.210"
|
||||
version = "1.0.214"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
|
||||
checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.210"
|
||||
version = "1.0.214"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
|
||||
checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -2457,9 +2457,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.128"
|
||||
version = "1.0.132"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
|
||||
checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
|
||||
+19
-14
@@ -7,18 +7,18 @@ const HEIGHT_TO_PREFIX = "height-to-";
|
||||
*/
|
||||
function createPartialOptions(colors) {
|
||||
function initGroups() {
|
||||
const xth = /** @type {const} */ ([
|
||||
const xTermHolders = /** @type {const} */ ([
|
||||
{
|
||||
id: "sth",
|
||||
key: "sth",
|
||||
name: "Short Term Holders",
|
||||
legend: "STH",
|
||||
legend: "Short Term Holders - STH",
|
||||
},
|
||||
{
|
||||
id: "lth",
|
||||
key: "lth",
|
||||
name: "Long Term Holders",
|
||||
legend: "LTH",
|
||||
legend: "Long Term Holders - LTH",
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -231,7 +231,7 @@ function createPartialOptions(colors) {
|
||||
id: "",
|
||||
name: "",
|
||||
},
|
||||
...xth,
|
||||
...xTermHolders,
|
||||
...upTo,
|
||||
...fromXToY,
|
||||
...fromX,
|
||||
@@ -460,7 +460,7 @@ function createPartialOptions(colors) {
|
||||
]);
|
||||
|
||||
return {
|
||||
xth,
|
||||
xTermHolders,
|
||||
upTo,
|
||||
fromX,
|
||||
fromXToY,
|
||||
@@ -3656,15 +3656,20 @@ function createPartialOptions(colors) {
|
||||
},
|
||||
],
|
||||
},
|
||||
...groups.xth.map(({ key, id, name, legend }) =>
|
||||
createCohortOptionsGroup({
|
||||
scale,
|
||||
color: colors[key],
|
||||
name: legend,
|
||||
datasetId: id,
|
||||
title: name,
|
||||
}),
|
||||
),
|
||||
{
|
||||
name: "X Term Holders",
|
||||
tree: [
|
||||
...groups.xTermHolders.map(({ key, id, name, legend }) =>
|
||||
createCohortOptionsGroup({
|
||||
scale,
|
||||
color: colors[key],
|
||||
name: legend,
|
||||
datasetId: id,
|
||||
title: name,
|
||||
}),
|
||||
),
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Up To X",
|
||||
tree: groups.upTo.map(({ key, id, name }) =>
|
||||
|
||||
Reference in New Issue
Block a user