From 1c81cd53fb859f4fa9e416c1a776f5295f7da44b Mon Sep 17 00:00:00 2001 From: nymius <155548262+nymius@users.noreply.github.com> Date: Wed, 4 Dec 2024 14:08:43 -0300 Subject: [PATCH] refactor(chain)!: change String by &str for versioned scripts in migrate_schema `&str` is documenting clearly that `migrate_schema` should only read `versioned_strings`. Also, as `schema_vN` methods will return `String`, rust will always automatically deref `&String` to `&str`. BREAKING CHANGE: changes parameter versioned_strings from public function migrate_schema from type &[String] to &[&str]. --- crates/chain/src/rusqlite_impl.rs | 12 ++++++------ crates/wallet/src/wallet/changeset.rs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crates/chain/src/rusqlite_impl.rs b/crates/chain/src/rusqlite_impl.rs index 2a52a2ac..7b39f53c 100644 --- a/crates/chain/src/rusqlite_impl.rs +++ b/crates/chain/src/rusqlite_impl.rs @@ -61,7 +61,7 @@ fn set_schema_version( pub fn migrate_schema( db_tx: &Transaction, schema_name: &str, - versioned_scripts: &[String], + versioned_scripts: &[&str], ) -> rusqlite::Result<()> { init_schemas_table(db_tx)?; let current_version = schema_version(db_tx, schema_name)?; @@ -269,7 +269,7 @@ impl tx_graph::ChangeSet { migrate_schema( db_tx, Self::SCHEMA_NAME, - &[Self::schema_v0(), Self::schema_v1()], + &[&Self::schema_v0(), &Self::schema_v1()], ) } @@ -435,7 +435,7 @@ impl local_chain::ChangeSet { /// Initialize sqlite tables for persisting [`local_chain::LocalChain`]. pub fn init_sqlite_tables(db_tx: &rusqlite::Transaction) -> rusqlite::Result<()> { - migrate_schema(db_tx, Self::SCHEMA_NAME, &[Self::schema_v0()]) + migrate_schema(db_tx, Self::SCHEMA_NAME, &[&Self::schema_v0()]) } /// Construct a [`LocalChain`](local_chain::LocalChain) from sqlite database. @@ -511,7 +511,7 @@ impl keychain_txout::ChangeSet { /// Initialize sqlite tables for persisting /// [`KeychainTxOutIndex`](keychain_txout::KeychainTxOutIndex). pub fn init_sqlite_tables(db_tx: &rusqlite::Transaction) -> rusqlite::Result<()> { - migrate_schema(db_tx, Self::SCHEMA_NAME, &[Self::schema_v0()]) + migrate_schema(db_tx, Self::SCHEMA_NAME, &[&Self::schema_v0()]) } /// Construct [`KeychainTxOutIndex`](keychain_txout::KeychainTxOutIndex) from sqlite database @@ -635,7 +635,7 @@ mod test { // Create initial database with v0 sqlite schema { let db_tx = conn.transaction()?; - migrate_schema(&db_tx, ChangeSet::SCHEMA_NAME, &[ChangeSet::schema_v0()])?; + migrate_schema(&db_tx, ChangeSet::SCHEMA_NAME, &[&ChangeSet::schema_v0()])?; db_tx.commit()?; } @@ -703,7 +703,7 @@ mod test { migrate_schema( &db_tx, ChangeSet::SCHEMA_NAME, - &[ChangeSet::schema_v0(), ChangeSet::schema_v1()], + &[&ChangeSet::schema_v0(), &ChangeSet::schema_v1()], )?; db_tx.commit()?; } diff --git a/crates/wallet/src/wallet/changeset.rs b/crates/wallet/src/wallet/changeset.rs index 5a67fcd0..36a5b493 100644 --- a/crates/wallet/src/wallet/changeset.rs +++ b/crates/wallet/src/wallet/changeset.rs @@ -90,7 +90,7 @@ impl ChangeSet { crate::rusqlite_impl::migrate_schema( db_tx, Self::WALLET_SCHEMA_NAME, - &[Self::schema_v0()], + &[&Self::schema_v0()], )?; bdk_chain::local_chain::ChangeSet::init_sqlite_tables(db_tx)?; -- 2.49.0