Skip to content
This repository was archived by the owner on Jun 1, 2026. It is now read-only.

Commit 6cc7720

Browse files
committed
Avoid swap metadata override with null
1 parent 25ba992 commit 6cc7720

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

crates/storage/src/database/transactions.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ use crate::{
55
sql_types::{AssetId, TransactionState, TransactionType},
66
};
77
use chrono::NaiveDateTime;
8-
use diesel::dsl::count;
8+
use diesel::dsl::{count, sql};
99
use diesel::prelude::*;
10+
use diesel::sql_types::{Jsonb, Nullable};
1011
use diesel::upsert::excluded;
1112
use primitives::Transaction;
1213

@@ -85,7 +86,7 @@ impl TransactionsStore for DatabaseClient {
8586
dsl::fee.eq(excluded(dsl::fee)),
8687
dsl::fee_asset_id.eq(excluded(dsl::fee_asset_id)),
8788
dsl::memo.eq(excluded(dsl::memo)),
88-
dsl::metadata.eq(excluded(dsl::metadata)),
89+
dsl::metadata.eq(sql::<Nullable<Jsonb>>("COALESCE(EXCLUDED.metadata, transactions.metadata)")),
8990
dsl::utxo_inputs.eq(excluded(dsl::utxo_inputs)),
9091
dsl::utxo_outputs.eq(excluded(dsl::utxo_outputs)),
9192
))

0 commit comments

Comments
 (0)