Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensemble/1825/cleanup immutable file in cardano transation #1838

Merged
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion internal/mithril-persistence/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mithril-persistence"
version = "0.2.17"
version = "0.2.18"
description = "Common types, interfaces, and utilities to persist data for Mithril nodes."
authors = { workspace = true }
edition = { workspace = true }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,5 +99,14 @@ pragma auto_vacuum = full;
vacuum;
"#,
),
// Migration 8
// Remove Immutable File Number in Cardano Transaction
SqlMigration::new(
8,
r#"
drop index cardano_tx_immutable_file_number_index;
alter table cardano_tx drop column immutable_file_number;
"#,
),
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,12 @@ mod tests {

fn test_transaction_set() -> Vec<CardanoTransactionRecord> {
vec![
CardanoTransactionRecord::new("tx-hash-0", 10, 50, "block-hash-10", 1),
CardanoTransactionRecord::new("tx-hash-1", 10, 51, "block-hash-10", 1),
CardanoTransactionRecord::new("tx-hash-2", 11, 52, "block-hash-11", 1),
CardanoTransactionRecord::new("tx-hash-3", 11, 53, "block-hash-11", 1),
CardanoTransactionRecord::new("tx-hash-4", 12, 54, "block-hash-12", 1),
CardanoTransactionRecord::new("tx-hash-5", 12, 55, "block-hash-12", 1),
CardanoTransactionRecord::new("tx-hash-0", 10, 50, "block-hash-10"),
CardanoTransactionRecord::new("tx-hash-1", 10, 51, "block-hash-10"),
CardanoTransactionRecord::new("tx-hash-2", 11, 52, "block-hash-11"),
CardanoTransactionRecord::new("tx-hash-3", 11, 53, "block-hash-11"),
CardanoTransactionRecord::new("tx-hash-4", 12, 54, "block-hash-12"),
CardanoTransactionRecord::new("tx-hash-5", 12, 55, "block-hash-12"),
]
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,10 @@ mod tests {
insert_transactions(
&connection,
vec![
CardanoTransactionRecord::new("tx-hash-0", 10, 50, "block-hash-10", 1),
CardanoTransactionRecord::new("tx-hash-1", 10, 51, "block-hash-10", 1),
CardanoTransactionRecord::new("tx-hash-2", 11, 54, "block-hash-11", 1),
CardanoTransactionRecord::new("tx-hash-3", 11, 55, "block-hash-11", 1),
CardanoTransactionRecord::new("tx-hash-0", 10, 50, "block-hash-10"),
CardanoTransactionRecord::new("tx-hash-1", 10, 51, "block-hash-10"),
CardanoTransactionRecord::new("tx-hash-2", 11, 54, "block-hash-11"),
CardanoTransactionRecord::new("tx-hash-3", 11, 55, "block-hash-11"),
],
);

Expand All @@ -144,8 +144,8 @@ mod tests {
.unwrap();
assert_eq!(
vec![
CardanoTransactionRecord::new("tx-hash-2", 11, 54, "block-hash-11", 1),
CardanoTransactionRecord::new("tx-hash-3", 11, 55, "block-hash-11", 1),
CardanoTransactionRecord::new("tx-hash-2", 11, 54, "block-hash-11"),
CardanoTransactionRecord::new("tx-hash-3", 11, 55, "block-hash-11"),
],
records
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@ impl InsertCardanoTransactionQuery {

/// Query that insert multiples records.
pub fn insert_many(transactions_records: Vec<CardanoTransactionRecord>) -> StdResult<Self> {
let columns =
"(transaction_hash, block_number, slot_number, block_hash, immutable_file_number)";
let values_columns: Vec<&str> = repeat("(?*, ?*, ?*, ?*, ?*)")
let columns = "(transaction_hash, block_number, slot_number, block_hash)";
let values_columns: Vec<&str> = repeat("(?*, ?*, ?*, ?*)")
.take(transactions_records.len())
.collect();

Expand All @@ -35,7 +34,6 @@ impl InsertCardanoTransactionQuery {
Value::Integer(record.block_number.try_into()?),
Value::Integer(record.slot_number.try_into()?),
Value::String(record.block_hash.clone()),
Value::Integer(record.immutable_file_number.try_into()?),
]);
Ok(vec)
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use sqlite::Row;

use mithril_common::entities::{
BlockHash, BlockNumber, CardanoTransaction, ImmutableFileNumber, SlotNumber, TransactionHash,
BlockHash, BlockNumber, CardanoTransaction, SlotNumber, TransactionHash,
};

use crate::database::Hydrator;
Expand All @@ -21,9 +21,6 @@ pub struct CardanoTransactionRecord {

/// Block hash of the transaction
pub block_hash: BlockHash,

/// Immutable file number of the transaction
pub immutable_file_number: ImmutableFileNumber,
}

impl CardanoTransactionRecord {
Expand All @@ -33,14 +30,12 @@ impl CardanoTransactionRecord {
block_number: BlockNumber,
slot_number: SlotNumber,
block_hash: U,
immutable_file_number: ImmutableFileNumber,
) -> Self {
Self {
transaction_hash: hash.into(),
block_number,
slot_number,
block_hash: block_hash.into(),
immutable_file_number,
}
}
}
Expand All @@ -52,7 +47,6 @@ impl From<CardanoTransaction> for CardanoTransactionRecord {
block_number: transaction.block_number,
slot_number: transaction.slot_number,
block_hash: transaction.block_hash,
immutable_file_number: transaction.immutable_file_number,
}
}
}
Expand All @@ -64,7 +58,6 @@ impl From<CardanoTransactionRecord> for CardanoTransaction {
block_number: other.block_number,
slot_number: other.slot_number,
block_hash: other.block_hash,
immutable_file_number: other.immutable_file_number,
}
}
}
Expand All @@ -78,15 +71,12 @@ impl SqLiteEntity for CardanoTransactionRecord {
let block_number = Hydrator::try_to_u64("cardano_tx.block_number", row.read::<i64, _>(1))?;
let slot_number = Hydrator::try_to_u64("cardano_tx.slot_number", row.read::<i64, _>(2))?;
let block_hash = row.read::<&str, _>(3);
let immutable_file_number =
Hydrator::try_to_u64("cardano_tx.immutable_file_number", row.read::<i64, _>(4))?;

Ok(Self {
transaction_hash: transaction_hash.to_string(),
block_number,
slot_number,
block_hash: block_hash.to_string(),
immutable_file_number,
})
}

Expand All @@ -100,11 +90,6 @@ impl SqLiteEntity for CardanoTransactionRecord {
("block_number", "{:cardano_tx:}.block_number", "int"),
("slot_number", "{:cardano_tx:}.slot_number", "int"),
("block_hash", "{:cardano_tx:}.block_hash", "text"),
(
"immutable_file_number",
"{:cardano_tx:}.immutable_file_number",
"int",
),
])
}
}
Loading
Loading