From b48ae74a4744657d4c61381ec92d7b358067030e Mon Sep 17 00:00:00 2001 From: davidemazzocchi Date: Fri, 27 Feb 2026 09:58:50 +0100 Subject: [PATCH] feat: encapsulate rusqlite::Error into sqlite::FailedTo (ExecuteStatement) --- 01.workspace/heave/src/fun/sqlite_persist_catalog.rs | 8 ++++---- 01.workspace/heave/src/str/sqlite_failed_to.rs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/01.workspace/heave/src/fun/sqlite_persist_catalog.rs b/01.workspace/heave/src/fun/sqlite_persist_catalog.rs index 9aa449a..77e5ff0 100644 --- a/01.workspace/heave/src/fun/sqlite_persist_catalog.rs +++ b/01.workspace/heave/src/fun/sqlite_persist_catalog.rs @@ -38,7 +38,7 @@ fn write_attribute( INSERT_ATTRIBUTE_STATEMENT_TEMPLATE.replace("{column}", column); transaction .execute(&insert_attribute_statement, attribute_values) - .map_err(|_| sqlite::FailedTo::ExecuteStatement)?; + .map_err(|sqlite_error| sqlite::FailedTo::ExecuteStatement(sqlite_error))?; Ok(()) } @@ -46,7 +46,7 @@ fn delete_entity(entity: &Entity, transaction: &rusqlite::Transaction) -> Result let entity_id = [&entity.id]; transaction .execute(DELETE_ENTITY_STATEMENT, entity_id) - .map_err(|_| sqlite::FailedTo::ExecuteStatement)?; + .map_err(|sqlite_error| sqlite::FailedTo::ExecuteStatement(sqlite_error))?; Ok(()) } @@ -55,10 +55,10 @@ fn write_entity(entity: &Entity, transaction: &rusqlite::Transaction) -> Result< let entity_values = (&entity.id, &entity.class, &entity.subclass, entity.ref_date); transaction .execute(DELETE_ENTITY_STATEMENT, entity_id) - .map_err(|_| sqlite::FailedTo::ExecuteStatement)?; + .map_err(|sqlite_error| sqlite::FailedTo::ExecuteStatement(sqlite_error))?; transaction .execute(INSERT_ENTITY_STATEMENT, entity_values) - .map_err(|_| sqlite::FailedTo::ExecuteStatement)?; + .map_err(|sqlite_error| sqlite::FailedTo::ExecuteStatement(sqlite_error))?; for attribute in entity.attributes.values() { write_attribute(attribute, entity, transaction)?; } diff --git a/01.workspace/heave/src/str/sqlite_failed_to.rs b/01.workspace/heave/src/str/sqlite_failed_to.rs index 3024ba9..a7143e2 100644 --- a/01.workspace/heave/src/str/sqlite_failed_to.rs +++ b/01.workspace/heave/src/str/sqlite_failed_to.rs @@ -12,7 +12,7 @@ pub enum FailedTo { /// Failed to execute a SQL query. ExecuteQuery(rusqlite::Error), /// Failed to execute a prepared SQL statement. - ExecuteStatement, + ExecuteStatement(rusqlite::Error), /// Failed to open a connection to the SQLite database. OpenConnection, /// Failed to prepare a SQL statement for execution.