lib/sqlite/Util: add ExecuteModified()
This commit is contained in:
parent
cfdbaf331e
commit
12b4a666bc
|
@ -137,6 +137,17 @@ ExecuteChanges(sqlite3_stmt *stmt)
|
|||
return sqlite3_changes(sqlite3_db_handle(stmt));
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper for ExecuteChanges() that returns true if at least one row
|
||||
* was modified. Returns false if nothing was modified or if an error
|
||||
* occurred.
|
||||
*/
|
||||
static inline bool
|
||||
ExecuteModified(sqlite3_stmt *stmt)
|
||||
{
|
||||
return ExecuteChanges(stmt) > 0;
|
||||
}
|
||||
|
||||
template<typename F>
|
||||
static inline bool
|
||||
ExecuteForEach(sqlite3_stmt *stmt, F &&f)
|
||||
|
|
|
@ -224,15 +224,14 @@ sticker_update_value(const char *type, const char *uri,
|
|||
if (!BindAll(stmt, value, type, uri, name))
|
||||
return false;
|
||||
|
||||
int ret = ExecuteChanges(stmt);
|
||||
if (ret < 0)
|
||||
return false;
|
||||
bool modified = ExecuteModified(stmt);
|
||||
|
||||
sqlite3_reset(stmt);
|
||||
sqlite3_clear_bindings(stmt);
|
||||
|
||||
idle_add(IDLE_STICKER);
|
||||
return ret > 0;
|
||||
if (modified)
|
||||
idle_add(IDLE_STICKER);
|
||||
return modified;
|
||||
}
|
||||
|
||||
static bool
|
||||
|
@ -291,14 +290,14 @@ sticker_delete(const char *type, const char *uri)
|
|||
if (!BindAll(stmt, type, uri))
|
||||
return false;
|
||||
|
||||
if (!ExecuteCommand(stmt))
|
||||
return false;
|
||||
bool modified = ExecuteModified(stmt);
|
||||
|
||||
sqlite3_reset(stmt);
|
||||
sqlite3_clear_bindings(stmt);
|
||||
|
||||
idle_add(IDLE_STICKER);
|
||||
return true;
|
||||
if (modified)
|
||||
idle_add(IDLE_STICKER);
|
||||
return modified;
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -313,15 +312,14 @@ sticker_delete_value(const char *type, const char *uri, const char *name)
|
|||
if (!BindAll(stmt, type, uri, name))
|
||||
return false;
|
||||
|
||||
int ret = ExecuteChanges(stmt);
|
||||
if (ret < 0)
|
||||
return false;
|
||||
bool modified = ExecuteModified(stmt);
|
||||
|
||||
sqlite3_reset(stmt);
|
||||
sqlite3_clear_bindings(stmt);
|
||||
|
||||
idle_add(IDLE_STICKER);
|
||||
return ret > 0;
|
||||
if (modified)
|
||||
idle_add(IDLE_STICKER);
|
||||
return modified;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue