diff --git a/wallet/db.c b/wallet/db.c index da691dd3e..d3b3728a2 100644 --- a/wallet/db.c +++ b/wallet/db.c @@ -593,6 +593,7 @@ struct db_stmt *db_prepare_v2_(const char *location, struct db *db, stmt->location = location; stmt->error = NULL; stmt->db = db; + stmt->executed = false; stmt->inner_stmt = NULL; tal_add_destructor(stmt, db_stmt_free); @@ -1346,6 +1347,7 @@ bool db_exec_prepared_v2(struct db_stmt *stmt TAKES) { const char *expanded_sql; bool ret = stmt->db->config->exec_fn(stmt); + stmt->executed = true; if (stmt->db->config->expand_fn != NULL && ret && !stmt->query->readonly) { expanded_sql = stmt->db->config->expand_fn(stmt); diff --git a/wallet/db_common.h b/wallet/db_common.h index d6e810238..e7e176518 100644 --- a/wallet/db_common.h +++ b/wallet/db_common.h @@ -78,6 +78,8 @@ struct db_stmt { /* Pointer to DB-specific statement. */ void *inner_stmt; + + bool executed; }; struct db_config {