0.7.44
This commit is contained in:
@@ -230,6 +230,22 @@ pub(crate) async fn ensure_schema(database: &crate::Database) -> Result<(), crat
|
||||
if let Err(error) = result {
|
||||
return Err(error);
|
||||
}
|
||||
let result = create_tbl_dex_decode_replay_ledger(pool).await;
|
||||
if let Err(error) = result {
|
||||
return Err(error);
|
||||
}
|
||||
let result = create_uix_dex_decode_replay_ledger_transaction_scope_version(pool).await;
|
||||
if let Err(error) = result {
|
||||
return Err(error);
|
||||
}
|
||||
let result = create_idx_dex_decode_replay_ledger_signature(pool).await;
|
||||
if let Err(error) = result {
|
||||
return Err(error);
|
||||
}
|
||||
let result = create_idx_dex_decode_replay_ledger_status(pool).await;
|
||||
if let Err(error) = result {
|
||||
return Err(error);
|
||||
}
|
||||
let result = create_tbl_transaction_classifications(pool).await;
|
||||
if let Err(error) = result {
|
||||
return Err(error);
|
||||
@@ -1445,6 +1461,80 @@ ON k_sol_dex_decoded_events (transaction_id, instruction_id, event_kind)
|
||||
.await;
|
||||
}
|
||||
|
||||
/// Creates `k_sol_dex_decode_replay_ledger`.
|
||||
async fn create_tbl_dex_decode_replay_ledger(
|
||||
pool: &sqlx::SqlitePool,
|
||||
) -> Result<(), crate::Error> {
|
||||
return execute_sqlite_schema_statement(
|
||||
pool,
|
||||
"create_tbl_dex_decode_replay_ledger",
|
||||
r#"
|
||||
CREATE TABLE IF NOT EXISTS k_sol_dex_decode_replay_ledger (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
transaction_id INTEGER NOT NULL,
|
||||
signature TEXT NOT NULL,
|
||||
decoder_scope TEXT NOT NULL,
|
||||
decoder_version TEXT NOT NULL,
|
||||
decode_status TEXT NOT NULL,
|
||||
certainty TEXT NOT NULL,
|
||||
event_count INTEGER NOT NULL,
|
||||
distinct_token_mint_count INTEGER NOT NULL,
|
||||
force_replay_required INTEGER NOT NULL,
|
||||
status_reason TEXT NULL,
|
||||
created_at TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL,
|
||||
FOREIGN KEY(transaction_id) REFERENCES k_sol_chain_transactions(id)
|
||||
)
|
||||
"#,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
/// Creates unique index on `(transaction_id, decoder_scope, decoder_version)`.
|
||||
async fn create_uix_dex_decode_replay_ledger_transaction_scope_version(
|
||||
pool: &sqlx::SqlitePool,
|
||||
) -> Result<(), crate::Error> {
|
||||
return execute_sqlite_schema_statement(
|
||||
pool,
|
||||
"create_uix_dex_decode_replay_ledger_transaction_scope_version",
|
||||
r#"
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS uix_dex_decode_replay_ledger_transaction_scope_version
|
||||
ON k_sol_dex_decode_replay_ledger (transaction_id, decoder_scope, decoder_version)
|
||||
"#,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
/// Creates index on `(signature, decoder_scope, decoder_version)`.
|
||||
async fn create_idx_dex_decode_replay_ledger_signature(
|
||||
pool: &sqlx::SqlitePool,
|
||||
) -> Result<(), crate::Error> {
|
||||
return execute_sqlite_schema_statement(
|
||||
pool,
|
||||
"create_idx_dex_decode_replay_ledger_signature",
|
||||
r#"
|
||||
CREATE INDEX IF NOT EXISTS idx_dex_decode_replay_ledger_signature
|
||||
ON k_sol_dex_decode_replay_ledger (signature, decoder_scope, decoder_version)
|
||||
"#,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
/// Creates index on `(decode_status, certainty, force_replay_required)`.
|
||||
async fn create_idx_dex_decode_replay_ledger_status(
|
||||
pool: &sqlx::SqlitePool,
|
||||
) -> Result<(), crate::Error> {
|
||||
return execute_sqlite_schema_statement(
|
||||
pool,
|
||||
"create_idx_dex_decode_replay_ledger_status",
|
||||
r#"
|
||||
CREATE INDEX IF NOT EXISTS idx_dex_decode_replay_ledger_status
|
||||
ON k_sol_dex_decode_replay_ledger (decode_status, certainty, force_replay_required)
|
||||
"#,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
|
||||
async fn create_tbl_launch_surfaces(pool: &sqlx::SqlitePool) -> Result<(), crate::Error> {
|
||||
return execute_sqlite_schema_statement(
|
||||
pool,
|
||||
|
||||
Reference in New Issue
Block a user