From 2bfb0dc022cc1c2a1455e1f1fa5f3190ebe1e3ac Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Tue, 11 Oct 2022 21:49:24 +0100 Subject: [PATCH] sqlite: client_msgs are only ever all cleared --- plugins/persist-sqlite/client_msgs.c | 34 +++++++------------------ plugins/persist-sqlite/clients.c | 2 +- plugins/persist-sqlite/persist_sqlite.h | 2 +- 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/plugins/persist-sqlite/client_msgs.c b/plugins/persist-sqlite/client_msgs.c index a6b2f51d..eec240a6 100644 --- a/plugins/persist-sqlite/client_msgs.c +++ b/plugins/persist-sqlite/client_msgs.c @@ -111,36 +111,20 @@ int persist_sqlite__client_msg_update_cb(int event, void *event_data, void *user } -int persist_sqlite__client_msg_clear(struct mosquitto_sqlite *ms, const char *client_id, int direction) +int persist_sqlite__client_msg_clear(struct mosquitto_sqlite *ms, const char *client_id) { int rc = MOSQ_ERR_UNKNOWN; - if(direction == mosq_bmd_all){ - if(sqlite3_bind_text(ms->client_msg_clear_all_stmt, 1, client_id, (int)strlen(client_id), SQLITE_STATIC) == SQLITE_OK){ - ms->event_count++; - rc = sqlite3_step(ms->client_msg_clear_all_stmt); - if(rc == SQLITE_DONE){ - rc = MOSQ_ERR_SUCCESS; - }else{ - rc = MOSQ_ERR_UNKNOWN; - } + if(sqlite3_bind_text(ms->client_msg_clear_all_stmt, 1, client_id, (int)strlen(client_id), SQLITE_STATIC) == SQLITE_OK){ + ms->event_count++; + rc = sqlite3_step(ms->client_msg_clear_all_stmt); + if(rc == SQLITE_DONE){ + rc = MOSQ_ERR_SUCCESS; + }else{ + rc = MOSQ_ERR_UNKNOWN; } - sqlite3_reset(ms->client_msg_clear_all_stmt); - }else{ - if(sqlite3_bind_text(ms->client_msg_clear_stmt, 1, client_id, (int)strlen(client_id), SQLITE_STATIC) == SQLITE_OK - && sqlite3_bind_int64(ms->client_msg_clear_stmt, 2, direction) == SQLITE_OK - ){ - - ms->event_count++; - rc = sqlite3_step(ms->client_msg_clear_stmt); - if(rc == SQLITE_DONE){ - rc = MOSQ_ERR_SUCCESS; - }else{ - rc = MOSQ_ERR_UNKNOWN; - } - } - sqlite3_reset(ms->client_msg_clear_stmt); } + sqlite3_reset(ms->client_msg_clear_all_stmt); return rc; } diff --git a/plugins/persist-sqlite/clients.c b/plugins/persist-sqlite/clients.c index b8809831..8cfedfe0 100644 --- a/plugins/persist-sqlite/clients.c +++ b/plugins/persist-sqlite/clients.c @@ -101,7 +101,7 @@ int persist_sqlite__client_remove_cb(int event, void *event_data, void *userdata rc = MOSQ_ERR_UNKNOWN; } } - persist_sqlite__client_msg_clear(ms, ed->client_id, mosq_bmd_all); + persist_sqlite__client_msg_clear(ms, ed->client_id); return rc; } diff --git a/plugins/persist-sqlite/persist_sqlite.h b/plugins/persist-sqlite/persist_sqlite.h index 76215d97..35b88808 100644 --- a/plugins/persist-sqlite/persist_sqlite.h +++ b/plugins/persist-sqlite/persist_sqlite.h @@ -61,7 +61,7 @@ int persist_sqlite__client_add_cb(int event, void *event_data, void *userdata); int persist_sqlite__client_update_cb(int event, void *event_data, void *userdata); int persist_sqlite__client_remove_cb(int event, void *event_data, void *userdata); int persist_sqlite__client_msg_add_cb(int event, void *event_data, void *userdata); -int persist_sqlite__client_msg_clear(struct mosquitto_sqlite *ms, const char *client_id, int direction); +int persist_sqlite__client_msg_clear(struct mosquitto_sqlite *ms, const char *client_id); int persist_sqlite__client_msg_remove_cb(int event, void *event_data, void *userdata); int persist_sqlite__client_msg_update_cb(int event, void *event_data, void *userdata); int persist_sqlite__base_msg_add_cb(int event, void *event_data, void *userdata);