Use T: AsRef<Path> as param to SqliteDatabase::new
Currently SqliteDatabase::new takes a String as path, with this change, it now accepts any type that implements AsRef<Path>.
This commit is contained in:
parent
6bae52e6f2
commit
558e37afa7
@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Add `descriptor::checksum::get_checksum_bytes` method.
|
- Add `descriptor::checksum::get_checksum_bytes` method.
|
||||||
- Add `Excess` enum to handle remaining amount after coin selection.
|
- Add `Excess` enum to handle remaining amount after coin selection.
|
||||||
- Move change creation from `Wallet::create_tx` to `CoinSelectionAlgorithm::coin_select`.
|
- Move change creation from `Wallet::create_tx` to `CoinSelectionAlgorithm::coin_select`.
|
||||||
|
- Change the interface of `SqliteDatabase::new` to accept any type that implement AsRef<Path>
|
||||||
|
|
||||||
## [v0.20.0] - [v0.19.0]
|
## [v0.20.0] - [v0.19.0]
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
|
||||||
// You may not use this file except in accordance with one or both of these
|
// You may not use this file except in accordance with one or both of these
|
||||||
// licenses.
|
// licenses.
|
||||||
|
use std::path::Path;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use bitcoin::consensus::encode::{deserialize, serialize};
|
use bitcoin::consensus::encode::{deserialize, serialize};
|
||||||
use bitcoin::hash_types::Txid;
|
use bitcoin::hash_types::Txid;
|
||||||
@ -60,7 +62,7 @@ static MIGRATIONS: &[&str] = &[
|
|||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct SqliteDatabase {
|
pub struct SqliteDatabase {
|
||||||
/// Path on the local filesystem to store the sqlite file
|
/// Path on the local filesystem to store the sqlite file
|
||||||
pub path: String,
|
pub path: PathBuf,
|
||||||
/// A rusqlite connection object to the sqlite database
|
/// A rusqlite connection object to the sqlite database
|
||||||
pub connection: Connection,
|
pub connection: Connection,
|
||||||
}
|
}
|
||||||
@ -68,9 +70,12 @@ pub struct SqliteDatabase {
|
|||||||
impl SqliteDatabase {
|
impl SqliteDatabase {
|
||||||
/// Instantiate a new SqliteDatabase instance by creating a connection
|
/// Instantiate a new SqliteDatabase instance by creating a connection
|
||||||
/// to the database stored at path
|
/// to the database stored at path
|
||||||
pub fn new(path: String) -> Self {
|
pub fn new<T: AsRef<Path>>(path: T) -> Self {
|
||||||
let connection = get_connection(&path).unwrap();
|
let connection = get_connection(&path).unwrap();
|
||||||
SqliteDatabase { path, connection }
|
SqliteDatabase {
|
||||||
|
path: PathBuf::from(path.as_ref()),
|
||||||
|
connection,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fn insert_script_pubkey(
|
fn insert_script_pubkey(
|
||||||
&self,
|
&self,
|
||||||
@ -908,7 +913,7 @@ impl BatchDatabase for SqliteDatabase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_connection(path: &str) -> Result<Connection, Error> {
|
pub fn get_connection<T: AsRef<Path>>(path: &T) -> Result<Connection, Error> {
|
||||||
let connection = Connection::open(path)?;
|
let connection = Connection::open(path)?;
|
||||||
migrate(&connection)?;
|
migrate(&connection)?;
|
||||||
Ok(connection)
|
Ok(connection)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user