Jelajahi Sumber

Update reference for kv transaction

Cesar Rodas 1 bulan lalu
induk
melakukan
b84f9dcf15

+ 4 - 4
crates/cdk-common/src/database/kvstore.rs

@@ -67,7 +67,7 @@ pub fn validate_kvstore_params(
 
 /// Key-Value Store Transaction trait
 #[async_trait]
-pub trait KVStoreTransaction<'a, Error>: DbTransactionFinalizer<Err = Error> {
+pub trait KVStoreTransaction<Error>: DbTransactionFinalizer<Err = Error> {
     /// Read value from key-value store
     async fn kv_read(
         &mut self,
@@ -127,7 +127,7 @@ pub trait KVStoreDatabase {
 #[async_trait]
 pub trait KVStore: KVStoreDatabase {
     /// Begins a KV transaction
-    async fn begin_transaction<'a>(
-        &'a self,
-    ) -> Result<Box<dyn KVStoreTransaction<'a, Self::Err> + Send + Sync + 'a>, Error>;
+    async fn begin_transaction(
+        &self,
+    ) -> Result<Box<dyn KVStoreTransaction<Self::Err> + Send + Sync>, Error>;
 }

+ 1 - 1
crates/cdk-common/src/database/mint/mod.rs

@@ -393,7 +393,7 @@ pub trait Transaction<'a, Error>:
     + QuotesTransaction<'a, Err = Error>
     + SignaturesTransaction<'a, Err = Error>
     + ProofsTransaction<'a, Err = Error>
-    + KVStoreTransaction<'a, Error>
+    + KVStoreTransaction<Error>
     + SagaTransaction<'a, Err = Error>
     + CompletedOperationsTransaction<'a, Err = Error>
 {

+ 1 - 1
crates/cdk-common/src/database/mod.rs

@@ -44,7 +44,7 @@ pub type DynWalletKVStore = std::sync::Arc<WalletKVStore>;
 pub type WalletKVStoreDatabase = dyn KVStoreDatabase<Err = Error> + Send + Sync;
 /// Wallet Key-Value Store Transaction trait object
 #[cfg(feature = "wallet")]
-pub type WalletKVStoreTransaction<'a> = dyn KVStoreTransaction<'a, Error> + Send + Sync + 'a;
+pub type WalletKVStoreTransaction = dyn KVStoreTransaction<Error> + Send + Sync;
 
 /// Data conversion error
 #[derive(thiserror::Error, Debug)]

+ 4 - 5
crates/cdk-redb/src/wallet/mod.rs

@@ -587,10 +587,9 @@ impl KVStoreDatabase for WalletRedbDatabase {
 
 #[async_trait]
 impl KVStore for WalletRedbDatabase {
-    async fn begin_transaction<'a>(
-        &'a self,
-    ) -> Result<Box<dyn KVStoreTransaction<'a, Self::Err> + Send + Sync + 'a>, database::Error>
-    {
+    async fn begin_transaction(
+        &self,
+    ) -> Result<Box<dyn KVStoreTransaction<Self::Err> + Send + Sync>, database::Error> {
         let write_txn = self.db.begin_write().map_err(Error::from)?;
         Ok(Box::new(RedbWalletTransaction::new(write_txn)))
     }
@@ -1089,7 +1088,7 @@ impl WalletDatabaseTransaction<database::Error> for RedbWalletTransaction {
 }
 
 #[async_trait]
-impl KVStoreTransaction<'_, database::Error> for RedbWalletTransaction {
+impl KVStoreTransaction<database::Error> for RedbWalletTransaction {
     #[instrument(skip_all)]
     async fn kv_read(
         &mut self,

+ 4 - 5
crates/cdk-sql-common/src/mint/mod.rs

@@ -1996,7 +1996,7 @@ where
 }
 
 #[async_trait]
-impl<RM> database::KVStoreTransaction<'_, Error> for SQLTransaction<RM>
+impl<RM> database::KVStoreTransaction<Error> for SQLTransaction<RM>
 where
     RM: DatabasePool + 'static,
 {
@@ -2087,10 +2087,9 @@ impl<RM> database::KVStore for SQLMintDatabase<RM>
 where
     RM: DatabasePool + 'static,
 {
-    async fn begin_transaction<'a>(
-        &'a self,
-    ) -> Result<Box<dyn database::KVStoreTransaction<'a, Self::Err> + Send + Sync + 'a>, Error>
-    {
+    async fn begin_transaction(
+        &self,
+    ) -> Result<Box<dyn database::KVStoreTransaction<Self::Err> + Send + Sync>, Error> {
         Ok(Box::new(SQLTransaction {
             inner: ConnectionWithTransaction::new(
                 self.pool.get().map_err(|e| Error::Database(Box::new(e)))?,

+ 4 - 5
crates/cdk-sql-common/src/wallet/mod.rs

@@ -1540,7 +1540,7 @@ fn sql_row_to_transaction(row: Vec<Column>) -> Result<Transaction, Error> {
 // KVStore implementations for wallet
 
 #[async_trait]
-impl<RM> database::KVStoreTransaction<'_, Error> for SQLWalletTransaction<RM>
+impl<RM> database::KVStoreTransaction<Error> for SQLWalletTransaction<RM>
 where
     RM: DatabasePool + 'static,
 {
@@ -1631,10 +1631,9 @@ impl<RM> database::KVStore for SQLWalletDatabase<RM>
 where
     RM: DatabasePool + 'static,
 {
-    async fn begin_transaction<'a>(
-        &'a self,
-    ) -> Result<Box<dyn database::KVStoreTransaction<'a, Self::Err> + Send + Sync + 'a>, Error>
-    {
+    async fn begin_transaction(
+        &self,
+    ) -> Result<Box<dyn database::KVStoreTransaction<Self::Err> + Send + Sync>, Error> {
         Ok(Box::new(SQLWalletTransaction {
             inner: ConnectionWithTransaction::new(
                 self.pool.get().map_err(|e| Error::Database(Box::new(e)))?,