db_redis: allow deletion of all rows master
authorrdboisvert <rdbprog@gmail.com>
Tue, 19 Nov 2019 21:05:34 +0000 (16:05 -0500)
committerHenning Westerholt <hw@skalatan.de>
Wed, 20 Nov 2019 19:20:10 +0000 (20:20 +0100)
src/modules/db_redis/redis_dbase.c

index c4cd696..97fd19e 100644 (file)
@@ -1325,6 +1325,12 @@ static int db_redis_perform_delete(const db1_con_t* _h, km_redis_con_t *con, con
         if (tmp)
             db_redis_key_free(&tmp);
 
+        // skip if delete all rows
+        if (!*manual_keys_count) {
+          db_redis_key_free (&query_v);
+          goto skipkeys;
+        }
+
         if (db_redis_key_prepend_string(&query_v, "HMGET", 5) != 0) {
             LM_ERR("Failed to set hmget command to pre-delete query\n");
             goto error;
@@ -1416,6 +1422,7 @@ static int db_redis_perform_delete(const db1_con_t* _h, km_redis_con_t *con, con
         db_vals = NULL;
         db_redis_free_reply(&reply);
 
+      skipkeys:
         if (db_redis_key_add_string(&query_v, "DEL", 3) != 0) {
             LM_ERR("Failed to add del command to delete query\n");
             goto error;