Skip to content

Commit a623ece

Browse files
committed
Fix delete tables in block extractor
1 parent df877a1 commit a623ece

3 files changed

Lines changed: 44 additions & 19 deletions

File tree

src/evm-block-extractor/src/database/big_query_db_client.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ impl DatabaseClient for BigQueryDbClient {
274274
delete_table(BQ_BLOCKS_TABLE_ID.to_owned()).await?;
275275
delete_table(BQ_TRANSACTIONS_TABLE_ID.to_owned()).await?;
276276
delete_table(BQ_KEY_VALUE_TABLE_ID.to_owned()).await?;
277+
delete_table(BQ_CERTIFIED_BLOCKS_TABLE_ID.to_owned()).await?;
277278

278279
self.create_tables_if_not_present().await
279280
}

src/evm-block-extractor/src/database/postgres_db_client.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,11 @@ impl DatabaseClient for PostgresDbClient {
7676

7777
async fn clear(&self) -> anyhow::Result<()> {
7878
log::warn!("Postgres tables are being cleared");
79-
sqlx::query("TRUNCATE TABLE EVM_BLOCK, EVM_TRANSACTION, EVM_KEY_VALUE_DATA")
80-
.execute(&self.pool)
81-
.await?;
79+
sqlx::query(
80+
"TRUNCATE TABLE EVM_BLOCK, EVM_TRANSACTION, EVM_KEY_VALUE_DATA, CERTIFIED_EVM_BLOCK",
81+
)
82+
.execute(&self.pool)
83+
.await?;
8284

8385
Ok(())
8486
}

src/evm-block-extractor/tests/tests/database_client_it.rs

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -560,23 +560,45 @@ async fn test_insert_and_fetch_last_block_certified_data() {
560560
data: block_2,
561561
};
562562

563-
db_client
564-
.insert_certified_block_data(result_1.clone())
565-
.await
566-
.unwrap();
567-
assert_eq!(
568-
result_1,
569-
db_client.get_last_certified_block_data().await.unwrap()
570-
);
563+
// There should be no certified block when the database is empty
564+
{
565+
// Act
566+
let certified_data = db_client.get_last_certified_block_data().await;
571567

572-
db_client
573-
.insert_certified_block_data(result_2.clone())
574-
.await
575-
.unwrap();
576-
assert_eq!(
577-
result_2,
578-
db_client.get_last_certified_block_data().await.unwrap()
579-
);
568+
// Assert
569+
assert!(certified_data.is_err());
570+
}
571+
572+
// Insert certified blocks
573+
{
574+
db_client
575+
.insert_certified_block_data(result_1.clone())
576+
.await
577+
.unwrap();
578+
assert_eq!(
579+
result_1,
580+
db_client.get_last_certified_block_data().await.unwrap()
581+
);
582+
583+
db_client
584+
.insert_certified_block_data(result_2.clone())
585+
.await
586+
.unwrap();
587+
assert_eq!(
588+
result_2,
589+
db_client.get_last_certified_block_data().await.unwrap()
590+
);
591+
}
592+
593+
// There should be no certified blocks when the database is cleared
594+
{
595+
// Act
596+
db_client.clear().await.unwrap();
597+
let certified_data = db_client.get_last_certified_block_data().await;
598+
599+
// Assert
600+
assert!(certified_data.is_err());
601+
}
580602
})
581603
.await;
582604
}

0 commit comments

Comments
 (0)