Module: kamailio
Branch: master
Commit: 501c41dd35fb9f15fdf96f4f3778860395e37a84
URL: 
https://github.com/kamailio/kamailio/commit/501c41dd35fb9f15fdf96f4f3778860395e37a84

Author: Daniel-Constantin Mierla <mico...@gmail.com>
Committer: Daniel-Constantin Mierla <mico...@gmail.com>
Date: 2017-03-07T08:56:37+01:00

db_mongodb: re-init iterator and search again if fails to find from crt position

---

Modified: src/modules/db_mongodb/mongodb_dbase.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/501c41dd35fb9f15fdf96f4f3778860395e37a84.diff
Patch: 
https://github.com/kamailio/kamailio/commit/501c41dd35fb9f15fdf96f4f3778860395e37a84.patch

---

diff --git a/src/modules/db_mongodb/mongodb_dbase.c 
b/src/modules/db_mongodb/mongodb_dbase.c
index f4316ae..759b1c6 100644
--- a/src/modules/db_mongodb/mongodb_dbase.c
+++ b/src/modules/db_mongodb/mongodb_dbase.c
@@ -377,9 +377,16 @@ int db_mongodb_get_columns(const db1_con_t* _h, db1_res_t* 
_r)
                LM_DBG("Found a field[%d] named: %s\n", col, colname);
                if(mgres->colsdoc) {
                        if(!bson_iter_find(&riter, colname)) {
-                               LM_ERR("field [%s] not found in result 
iterator\n",
-                                               colname);
-                               return -4;
+                               /* re-init the iterator */
+                               if (!bson_iter_init (&riter, mgres->rdoc)) {
+                                       LM_ERR("failed to initialize result 
iterator\n");
+                                       return -3;
+                               }
+                               if(!bson_iter_find(&riter, colname)) {
+                                       LM_ERR("field [%s] not found in result 
iterator\n",
+                                                       colname);
+                                       return -4;
+                               }
                        }
                        coltype = bson_iter_type(&riter);
                } else {


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to