From dbd593cfa1a82b4014df955442ac42a1502c399a Mon Sep 17 00:00:00 2001 From: Victor Seva Date: Mon, 16 Dec 2024 16:24:39 +0100 Subject: [PATCH] MT#61651 db_redis: fix build_query_keys logic * stop searching for more keys if key for scan is found Change-Id: Iaefaef3628ac137a6a9c9437274d582f19073255 (cherry picked from commit 23a581e1a333c1d4a11bbbdf155e2b0b6fc8f05a) (cherry picked from commit c5863e972a21eba58bab6e9a70cb25d2cbd235c4) --- debian/patches/series | 1 + ...earching-for-keys-if-scan_key-is-set.patch | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 debian/patches/sipwise/db_redis-stop-searching-for-keys-if-scan_key-is-set.patch diff --git a/debian/patches/series b/debian/patches/series index 6f1f54136..829e89f3a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -64,6 +64,7 @@ sipwise/cfgutils-allow-lock_set_size-14.patch sipwise/pua-get_record_puadb-add-pres_uri-to-the-query.patch sipwise/pua_dialoginfo-use_uuid.patch sipwise/usrloc-don-t-synchronize-on-destroy-for-DB_ONLY.patch +sipwise/db_redis-stop-searching-for-keys-if-scan_key-is-set.patch ### active development # ### Don't just put stuff in any order diff --git a/debian/patches/sipwise/db_redis-stop-searching-for-keys-if-scan_key-is-set.patch b/debian/patches/sipwise/db_redis-stop-searching-for-keys-if-scan_key-is-set.patch new file mode 100644 index 000000000..455701b4c --- /dev/null +++ b/debian/patches/sipwise/db_redis-stop-searching-for-keys-if-scan_key-is-set.patch @@ -0,0 +1,20 @@ +From: Victor Seva +Date: Thu, 19 Dec 2024 20:43:50 +0100 +Subject: db_redis: stop searching for keys if scan_key is set + +--- + src/modules/db_redis/redis_dbase.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/modules/db_redis/redis_dbase.c b/src/modules/db_redis/redis_dbase.c +index 84c0c3a..f7bace1 100644 +--- a/src/modules/db_redis/redis_dbase.c ++++ b/src/modules/db_redis/redis_dbase.c +@@ -794,6 +794,7 @@ static int db_redis_build_query_keys(km_redis_con_t *con, const str *table_name, + type->type.s); + } + keyname.s = NULL; ++ break; + } else if(keyname.s) { + pkg_free(keyname.s); + keyname.s = NULL;