mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-18 22:54:25 +01:00
db: make db_exec_prepared_v2 return void.
It calls db_fatal() if it fails anyway, so don't expect anyone to check. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -64,8 +64,7 @@ void db_set_intvar(struct db *db, char *varname, s64 val)
|
||||
struct db_stmt *stmt = db_prepare_v2(db, SQL("UPDATE vars SET intval=? WHERE name=?;"));
|
||||
db_bind_int(stmt, 0, val);
|
||||
db_bind_text(stmt, 1, varname);
|
||||
if (!db_exec_prepared_v2(stmt))
|
||||
db_fatal("Error executing update: %s", stmt->error);
|
||||
db_exec_prepared_v2(stmt);
|
||||
changes = db_count_changes(stmt);
|
||||
tal_free(stmt);
|
||||
|
||||
@@ -73,8 +72,7 @@ void db_set_intvar(struct db *db, char *varname, s64 val)
|
||||
stmt = db_prepare_v2(db, SQL("INSERT INTO vars (name, intval) VALUES (?, ?);"));
|
||||
db_bind_text(stmt, 0, varname);
|
||||
db_bind_int(stmt, 1, val);
|
||||
if (!db_exec_prepared_v2(stmt))
|
||||
db_fatal("Error executing insert: %s", stmt->error);
|
||||
db_exec_prepared_v2(stmt);
|
||||
tal_free(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ bool db_step(struct db_stmt *stmt)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool db_exec_prepared_v2(struct db_stmt *stmt TAKES)
|
||||
void db_exec_prepared_v2(struct db_stmt *stmt TAKES)
|
||||
{
|
||||
bool ret = stmt->db->config->exec_fn(stmt);
|
||||
|
||||
@@ -191,8 +191,6 @@ bool db_exec_prepared_v2(struct db_stmt *stmt TAKES)
|
||||
|
||||
if (taken(stmt))
|
||||
tal_free(stmt);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
size_t db_count_changes(struct db_stmt *stmt)
|
||||
|
||||
@@ -34,7 +34,7 @@ bool db_step(struct db_stmt *stmt);
|
||||
*
|
||||
* @stmt: The prepared statement to execute
|
||||
*/
|
||||
bool db_exec_prepared_v2(struct db_stmt *stmt TAKES);
|
||||
void db_exec_prepared_v2(struct db_stmt *stmt TAKES);
|
||||
|
||||
/**
|
||||
* db_query_prepared -- Execute a prepared query
|
||||
|
||||
@@ -129,16 +129,10 @@ static bool test_primitives(void)
|
||||
|
||||
db_begin_transaction(db);
|
||||
stmt = db_prepare_v2(db, SQL("SELECT name FROM sqlite_master WHERE type='table';"));
|
||||
CHECK_MSG(db_exec_prepared_v2(stmt), "db_exec_prepared must succeed");
|
||||
db_exec_prepared_v2(stmt);
|
||||
CHECK_MSG(!db_err, "Simple correct SQL command");
|
||||
tal_free(stmt);
|
||||
|
||||
stmt = db_prepare_v2(db, SQL("not a valid SQL statement"));
|
||||
CHECK_MSG(!db_exec_prepared_v2(stmt), "db_exec_prepared must fail");
|
||||
CHECK_MSG(db_err, "Failing SQL command");
|
||||
tal_free(stmt);
|
||||
db_err = tal_free(db_err);
|
||||
|
||||
/* We didn't migrate the DB, so don't have the vars table. Pretend we
|
||||
* didn't change anything so we don't bump the data_version. */
|
||||
db->dirty = false;
|
||||
@@ -186,12 +180,12 @@ static bool test_manip_columns(void)
|
||||
" id BIGSERIAL"
|
||||
", field1 INTEGER"
|
||||
", PRIMARY KEY (id))"));
|
||||
CHECK_MSG(db_exec_prepared_v2(stmt), "db_exec_prepared must succeed");
|
||||
db_exec_prepared_v2(stmt);
|
||||
CHECK_MSG(!db_err, "Simple correct SQL command");
|
||||
tal_free(stmt);
|
||||
|
||||
stmt = db_prepare_v2(db, SQL("INSERT INTO tablea (id, field1) VALUES (0, 1);"));
|
||||
CHECK_MSG(db_exec_prepared_v2(stmt), "db_exec_prepared must succeed");
|
||||
db_exec_prepared_v2(stmt);
|
||||
CHECK_MSG(!db_err, "Simple correct SQL command");
|
||||
tal_free(stmt);
|
||||
|
||||
@@ -199,22 +193,22 @@ static bool test_manip_columns(void)
|
||||
" id REFERENCES tablea(id) ON DELETE CASCADE"
|
||||
", field1 INTEGER"
|
||||
", field2 INTEGER);"));
|
||||
CHECK_MSG(db_exec_prepared_v2(stmt), "db_exec_prepared must succeed");
|
||||
db_exec_prepared_v2(stmt);
|
||||
CHECK_MSG(!db_err, "Simple correct SQL command");
|
||||
tal_free(stmt);
|
||||
|
||||
stmt = db_prepare_v2(db, SQL("INSERT INTO tableb (id, field1, field2) VALUES (0, 1, 2);"));
|
||||
CHECK_MSG(db_exec_prepared_v2(stmt), "db_exec_prepared must succeed");
|
||||
db_exec_prepared_v2(stmt);
|
||||
CHECK_MSG(!db_err, "Simple correct SQL command");
|
||||
tal_free(stmt);
|
||||
|
||||
/* Needs vars table, since this changes db. */
|
||||
stmt = db_prepare_v2(db, SQL("CREATE TABLE vars (name VARCHAR(32), intval);"));
|
||||
CHECK_MSG(db_exec_prepared_v2(stmt), "db_exec_prepared must succeed");
|
||||
db_exec_prepared_v2(stmt);
|
||||
CHECK_MSG(!db_err, "Simple correct SQL command");
|
||||
tal_free(stmt);
|
||||
stmt = db_prepare_v2(db, SQL("INSERT INTO vars VALUES ('data_version', 0);"));
|
||||
CHECK_MSG(db_exec_prepared_v2(stmt), "db_exec_prepared must succeed");
|
||||
db_exec_prepared_v2(stmt);
|
||||
CHECK_MSG(!db_err, "Simple correct SQL command");
|
||||
tal_free(stmt);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user