diff --git a/crates/sui-indexer-alt/src/handlers/ev_emit_mod.rs b/crates/sui-indexer-alt/src/handlers/ev_emit_mod.rs index 9aaf0cb7e513d0..6828c21fe5899d 100644 --- a/crates/sui-indexer-alt/src/handlers/ev_emit_mod.rs +++ b/crates/sui-indexer-alt/src/handlers/ev_emit_mod.rs @@ -61,11 +61,16 @@ impl Handler for EvEmitMod { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = ev_emit_mod::table .filter(ev_emit_mod::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1)); diff --git a/crates/sui-indexer-alt/src/handlers/ev_struct_inst.rs b/crates/sui-indexer-alt/src/handlers/ev_struct_inst.rs index 29eec49b7ee588..10c67c17f39532 100644 --- a/crates/sui-indexer-alt/src/handlers/ev_struct_inst.rs +++ b/crates/sui-indexer-alt/src/handlers/ev_struct_inst.rs @@ -65,11 +65,16 @@ impl Handler for EvStructInst { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = ev_struct_inst::table .filter(ev_struct_inst::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1)); diff --git a/crates/sui-indexer-alt/src/handlers/kv_checkpoints.rs b/crates/sui-indexer-alt/src/handlers/kv_checkpoints.rs index 93523c94ce08f2..f45ad7f22ffee7 100644 --- a/crates/sui-indexer-alt/src/handlers/kv_checkpoints.rs +++ b/crates/sui-indexer-alt/src/handlers/kv_checkpoints.rs @@ -40,9 +40,14 @@ impl Handler for KvCheckpoints { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let filter = kv_checkpoints::table - .filter(kv_checkpoints::sequence_number.between(from as i64, to as i64 - 1)); + .filter(kv_checkpoints::sequence_number.between(from as i64, to_exclusive as i64 - 1)); Ok(diesel::delete(filter).execute(conn).await?) } diff --git a/crates/sui-indexer-alt/src/handlers/kv_epoch_ends.rs b/crates/sui-indexer-alt/src/handlers/kv_epoch_ends.rs index 64f1529a7a8351..7d5d7b24091643 100644 --- a/crates/sui-indexer-alt/src/handlers/kv_epoch_ends.rs +++ b/crates/sui-indexer-alt/src/handlers/kv_epoch_ends.rs @@ -131,11 +131,16 @@ impl Handler for KvEpochEnds { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_epoch, end: to_epoch, - } = epoch_interval(conn, from..to).await?; + } = epoch_interval(conn, from..to_exclusive).await?; if from_epoch < to_epoch { let filter = kv_epoch_ends::table .filter(kv_epoch_ends::epoch.between(from_epoch as i64, to_epoch as i64 - 1)); diff --git a/crates/sui-indexer-alt/src/handlers/kv_epoch_starts.rs b/crates/sui-indexer-alt/src/handlers/kv_epoch_starts.rs index 8ac1ad1fc2d64c..f6d44d93fdd0a3 100644 --- a/crates/sui-indexer-alt/src/handlers/kv_epoch_starts.rs +++ b/crates/sui-indexer-alt/src/handlers/kv_epoch_starts.rs @@ -78,11 +78,16 @@ impl Handler for KvEpochStarts { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_epoch, end: to_epoch, - } = epoch_interval(conn, from..to).await?; + } = epoch_interval(conn, from..to_exclusive).await?; if from_epoch < to_epoch { let filter = kv_epoch_starts::table .filter(kv_epoch_starts::epoch.between(from_epoch as i64, to_epoch as i64 - 1)); diff --git a/crates/sui-indexer-alt/src/handlers/kv_transactions.rs b/crates/sui-indexer-alt/src/handlers/kv_transactions.rs index 27b96eb27437b4..4d12bb4f868670 100644 --- a/crates/sui-indexer-alt/src/handlers/kv_transactions.rs +++ b/crates/sui-indexer-alt/src/handlers/kv_transactions.rs @@ -68,11 +68,17 @@ impl Handler for KvTransactions { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { // TODO: use tx_interval. `tx_sequence_number` needs to be added to this table, and an index // created as its primary key is on `tx_digest`. - let filter = kv_transactions::table - .filter(kv_transactions::cp_sequence_number.between(from as i64, to as i64 - 1)); + let filter = kv_transactions::table.filter( + kv_transactions::cp_sequence_number.between(from as i64, to_exclusive as i64 - 1), + ); Ok(diesel::delete(filter).execute(conn).await?) } diff --git a/crates/sui-indexer-alt/src/handlers/tx_affected_addresses.rs b/crates/sui-indexer-alt/src/handlers/tx_affected_addresses.rs index 964c25840702ce..f6c456c527b5d8 100644 --- a/crates/sui-indexer-alt/src/handlers/tx_affected_addresses.rs +++ b/crates/sui-indexer-alt/src/handlers/tx_affected_addresses.rs @@ -75,11 +75,16 @@ impl Handler for TxAffectedAddresses { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = tx_affected_addresses::table.filter( tx_affected_addresses::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1), ); diff --git a/crates/sui-indexer-alt/src/handlers/tx_affected_objects.rs b/crates/sui-indexer-alt/src/handlers/tx_affected_objects.rs index 7445fdce0de7ce..6d79959a8fdecc 100644 --- a/crates/sui-indexer-alt/src/handlers/tx_affected_objects.rs +++ b/crates/sui-indexer-alt/src/handlers/tx_affected_objects.rs @@ -65,11 +65,16 @@ impl Handler for TxAffectedObjects { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = tx_affected_objects::table.filter( tx_affected_objects::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1), ); diff --git a/crates/sui-indexer-alt/src/handlers/tx_balance_changes.rs b/crates/sui-indexer-alt/src/handlers/tx_balance_changes.rs index 15748b7474d0ca..1f353b525b40e5 100644 --- a/crates/sui-indexer-alt/src/handlers/tx_balance_changes.rs +++ b/crates/sui-indexer-alt/src/handlers/tx_balance_changes.rs @@ -71,11 +71,16 @@ impl Handler for TxBalanceChanges { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = tx_balance_changes::table.filter( tx_balance_changes::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1), ); diff --git a/crates/sui-indexer-alt/src/handlers/tx_calls.rs b/crates/sui-indexer-alt/src/handlers/tx_calls.rs index fec4dce3a823ae..726af48d79f3e6 100644 --- a/crates/sui-indexer-alt/src/handlers/tx_calls.rs +++ b/crates/sui-indexer-alt/src/handlers/tx_calls.rs @@ -68,11 +68,16 @@ impl Handler for TxCalls { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = tx_calls::table .filter(tx_calls::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1)); diff --git a/crates/sui-indexer-alt/src/handlers/tx_digests.rs b/crates/sui-indexer-alt/src/handlers/tx_digests.rs index 0b04c2040df4f0..f398743b81212c 100644 --- a/crates/sui-indexer-alt/src/handlers/tx_digests.rs +++ b/crates/sui-indexer-alt/src/handlers/tx_digests.rs @@ -55,11 +55,11 @@ impl Handler for TxDigests { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune(&self, from: u64, to_exclusive: u64, conn: &mut db::Connection<'_>) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = tx_digests::table .filter(tx_digests::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1)); diff --git a/crates/sui-indexer-alt/src/handlers/tx_kinds.rs b/crates/sui-indexer-alt/src/handlers/tx_kinds.rs index 791e27a42b5017..c616a085d42b40 100644 --- a/crates/sui-indexer-alt/src/handlers/tx_kinds.rs +++ b/crates/sui-indexer-alt/src/handlers/tx_kinds.rs @@ -66,11 +66,16 @@ impl Handler for TxKinds { .await?) } - async fn prune(from: u64, to: u64, conn: &mut db::Connection<'_>) -> Result { + async fn prune( + &self, + from: u64, + to_exclusive: u64, + conn: &mut db::Connection<'_>, + ) -> Result { let Range { start: from_tx, end: to_tx, - } = tx_interval(conn, from..to).await?; + } = tx_interval(conn, from..to_exclusive).await?; let filter = tx_kinds::table .filter(tx_kinds::tx_sequence_number.between(from_tx as i64, to_tx as i64 - 1));