From baf49d5921cf91eae58d4d29ba5eb8e25424e12e Mon Sep 17 00:00:00 2001 From: librelois <c@elo.tf> Date: Tue, 15 Dec 2020 20:18:09 +0100 Subject: [PATCH] [ref] server: move old heads in db dunp_v1 --- rust-libs/duniter-dbs/src/databases/cm_v1.rs | 8 +------- rust-libs/duniter-dbs/src/databases/dunp_v1.rs | 5 ++++- rust-libs/duniter-server/src/legacy/dunp.rs | 12 ++++++------ rust-libs/duniter-server/src/lib.rs | 2 ++ 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/rust-libs/duniter-dbs/src/databases/cm_v1.rs b/rust-libs/duniter-dbs/src/databases/cm_v1.rs index 9771aff31..a18c189c4 100644 --- a/rust-libs/duniter-dbs/src/databases/cm_v1.rs +++ b/rust-libs/duniter-dbs/src/databases/cm_v1.rs @@ -15,10 +15,4 @@ use crate::*; -db_schema!( - CmV1, - [ - ["self_peer_old", SelfPeerOld, (), PeerCardDbV1], - ["dunp_heads_old", DunpHeadsOld, DunpNodeIdV1Db, DunpHeadDbV1], - ] -); +db_schema!(CmV1, [["self_peer_old", SelfPeerOld, (), PeerCardDbV1],]); diff --git a/rust-libs/duniter-dbs/src/databases/dunp_v1.rs b/rust-libs/duniter-dbs/src/databases/dunp_v1.rs index 86e4b320a..87285c022 100644 --- a/rust-libs/duniter-dbs/src/databases/dunp_v1.rs +++ b/rust-libs/duniter-dbs/src/databases/dunp_v1.rs @@ -17,5 +17,8 @@ use crate::*; db_schema!( DunpV1, - [["peers_old", PeersOld, PubKeyKeyV2, PeerCardDbV1],] + [ + ["heads_old", HeadsOld, DunpNodeIdV1Db, DunpHeadDbV1], + ["peers_old", PeersOld, PubKeyKeyV2, PeerCardDbV1], + ] ); diff --git a/rust-libs/duniter-server/src/legacy/dunp.rs b/rust-libs/duniter-server/src/legacy/dunp.rs index 44c9552e3..e58742c7f 100644 --- a/rust-libs/duniter-server/src/legacy/dunp.rs +++ b/rust-libs/duniter-server/src/legacy/dunp.rs @@ -23,8 +23,8 @@ impl DuniterServer { self.dbs_pool .execute(move |dbs| { for (dunp_node_id, dunp_head) in heads { - dbs.cm_db - .dunp_heads_old_write() + dbs.dunp_db + .heads_old_write() .upsert(dunp_node_id, dunp_head)? } Ok::<(), KvError>(()) @@ -83,13 +83,13 @@ mod tests { ed25519::{PublicKey, Signature}, PublicKey as _, }; + use duniter_dbs::databases::dunp_v1::DunpV1DbReadable; use duniter_dbs::PeerCardDbV1; use super::*; #[test] fn test_receive_new_heads() -> anyhow::Result<()> { - use duniter_dbs::databases::cm_v1::CmV1DbReadable as _; let (server, dbs) = DuniterServer::test(DuniterConf::default())?; let head = ( @@ -107,10 +107,10 @@ mod tests { }, ); - assert_eq!(dbs.cm_db.dunp_heads_old().count()?, 0); + assert_eq!(dbs.dunp_db.heads_old().count()?, 0); server.receive_new_heads(vec![head.clone()])?; - assert_eq!(dbs.cm_db.dunp_heads_old().count()?, 1); - assert_eq!(dbs.cm_db.dunp_heads_old().get(&head.0)?, Some(head.1)); + assert_eq!(dbs.dunp_db.heads_old().count()?, 1); + assert_eq!(dbs.dunp_db.heads_old().get(&head.0)?, Some(head.1)); Ok(()) } diff --git a/rust-libs/duniter-server/src/lib.rs b/rust-libs/duniter-server/src/lib.rs index 6268d7d66..8235de295 100644 --- a/rust-libs/duniter-server/src/lib.rs +++ b/rust-libs/duniter-server/src/lib.rs @@ -25,6 +25,7 @@ mod legacy; pub use duniter_conf::{gva_conf::GvaConf, DuniterConf}; +use duniter_dbs::databases::dunp_v1::DunpV1DbWritable; pub use duniter_dbs::{ kv_typed::prelude::KvResult, smallvec, DunpHeadDbV1, DunpNodeIdV1Db, PeerCardDbV1, }; @@ -115,6 +116,7 @@ impl DuniterServer { log::info!("open duniter databases..."); let (bc_db, dbs) = duniter_dbs::open_dbs(profile_path_opt); + dbs.dunp_db.heads_old_write().clear()?; // Clear WS2Pv1 HEADs log::info!("Databases successfully opened."); let current = duniter_dbs_read_ops::get_current_block_meta(&dbs.bc_db_ro) .context("Fail to get current")?; -- GitLab