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.