You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2007/04/29 10:01:28 UTC

svn commit: r533482 - in /webservices/sandesha/trunk/c/src/storage/mysql: permanent_create_seq_mgr.c permanent_next_msg_mgr.c permanent_seq_property_mgr.c

Author: damitha
Date: Sun Apr 29 01:01:27 2007
New Revision: 533482

URL: http://svn.apache.org/viewvc?view=rev&rev=533482
Log:
improving mysql data access

Modified:
    webservices/sandesha/trunk/c/src/storage/mysql/permanent_create_seq_mgr.c
    webservices/sandesha/trunk/c/src/storage/mysql/permanent_next_msg_mgr.c
    webservices/sandesha/trunk/c/src/storage/mysql/permanent_seq_property_mgr.c

Modified: webservices/sandesha/trunk/c/src/storage/mysql/permanent_create_seq_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/mysql/permanent_create_seq_mgr.c?view=diff&rev=533482&r1=533481&r2=533482
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/mysql/permanent_create_seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/mysql/permanent_create_seq_mgr.c Sun Apr 29 01:01:27 2007
@@ -47,39 +47,44 @@
     void *data)
 {
     MYSQL_ROW row;
+    int num_rows, i = 0;
     sandesha2_create_seq_bean_t *bean = NULL;
     sandesha2_bean_mgr_args_t *args = (sandesha2_bean_mgr_args_t *) data;
     const axutil_env_t *env = args->env;
     axutil_array_list_t *data_list = (axutil_array_list_t *) args->data;
-    if((row = mysql_fetch_row(res)) != NULL)
+    num_rows = mysql_num_rows(res);
+    if(num_rows > 0)
     {
         if(!data_list)
         {
             data_list = axutil_array_list_create(env, 0);
             args->data = data_list;
         }
-        bean = sandesha2_create_seq_bean_create(env);
-        sandesha2_create_seq_bean_set_create_seq_msg_id(bean, env, row[0]);
-        sandesha2_create_seq_bean_set_internal_seq_id(bean, env, row[1]);
-        sandesha2_create_seq_bean_set_seq_id(bean, env, row[2]);
-        sandesha2_create_seq_bean_set_create_seq_msg_store_key(bean, env, row[3]);
-        sandesha2_create_seq_bean_set_ref_msg_store_key(bean, env, row[4]);
-        axutil_array_list_add(data_list, env, bean);
     }
     else
     {
         args->data = NULL;
         return 0;
     }
-    while((row = mysql_fetch_row(res)) != NULL)
+    for(i = 0; i < num_rows; i++)
     {
-        bean = sandesha2_create_seq_bean_create(env);
-        sandesha2_create_seq_bean_set_create_seq_msg_id(bean, env, row[0]);
-        sandesha2_create_seq_bean_set_internal_seq_id(bean, env, row[1]);
-        sandesha2_create_seq_bean_set_seq_id(bean, env, row[2]);
-        sandesha2_create_seq_bean_set_create_seq_msg_store_key(bean, env, row[3]);
-        sandesha2_create_seq_bean_set_ref_msg_store_key(bean, env, row[4]);
-        axutil_array_list_add(data_list, env, bean);
+        if((row = mysql_fetch_row(res)) != NULL)
+        {
+            unsigned long *lengths = NULL;
+            lengths = mysql_fetch_lengths(res);
+            bean = sandesha2_create_seq_bean_create(env);
+            if(0 < (int) lengths[0])
+                sandesha2_create_seq_bean_set_create_seq_msg_id(bean, env, row[0]);
+            if(0 < (int) lengths[1])
+                sandesha2_create_seq_bean_set_internal_seq_id(bean, env, row[1]);
+            if(0 < (int) lengths[2])
+                sandesha2_create_seq_bean_set_seq_id(bean, env, row[2]);
+            if(0 < (int) lengths[3])
+                sandesha2_create_seq_bean_set_create_seq_msg_store_key(bean, env, row[3]);
+            if(0 < (int) lengths[4])
+                sandesha2_create_seq_bean_set_ref_msg_store_key(bean, env, row[4]);
+            axutil_array_list_add(data_list, env, bean);
+        }
     }
     return 0;
 }
@@ -95,16 +100,23 @@
     sandesha2_create_seq_bean_t *bean = (sandesha2_create_seq_bean_t *) args->data;
     if((row = mysql_fetch_row(res)) != NULL)
     {
+        unsigned long *lengths = NULL;
+        lengths = mysql_fetch_lengths(res);
         if(!bean)
         {
             bean = sandesha2_create_seq_bean_create(env);
             args->data = bean;
         }
-        sandesha2_create_seq_bean_set_create_seq_msg_id(bean, env, row[0]);
-        sandesha2_create_seq_bean_set_internal_seq_id(bean, env, row[1]);
-        sandesha2_create_seq_bean_set_seq_id(bean, env, row[2]);
-        sandesha2_create_seq_bean_set_create_seq_msg_store_key(bean, env, row[3]);
-        sandesha2_create_seq_bean_set_ref_msg_store_key(bean, env, row[4]);
+        if(0 < (int) lengths[0])
+            sandesha2_create_seq_bean_set_create_seq_msg_id(bean, env, row[0]);
+        if(0 < (int) lengths[1])
+            sandesha2_create_seq_bean_set_internal_seq_id(bean, env, row[1]);
+        if(0 < (int) lengths[2])
+            sandesha2_create_seq_bean_set_seq_id(bean, env, row[2]);
+        if(0 < (int) lengths[3])
+            sandesha2_create_seq_bean_set_create_seq_msg_store_key(bean, env, row[3]);
+        if(0 < (int) lengths[4])
+            sandesha2_create_seq_bean_set_ref_msg_store_key(bean, env, row[4]);
     }
     else
     {
@@ -236,12 +248,17 @@
 
     axis2_char_t *create_seq_msg_id = sandesha2_create_seq_bean_get_create_seq_msg_id(
         (sandesha2_rm_bean_t *) bean, env);
+    if(!create_seq_msg_id) create_seq_msg_id = "";
     axis2_char_t *internal_seq_id = sandesha2_create_seq_bean_get_internal_seq_id(bean, env);
+    if(!internal_seq_id) internal_seq_id = "";
     axis2_char_t *seq_id = sandesha2_create_seq_bean_get_seq_id(bean, env);
+    if(!seq_id) seq_id = "";
     axis2_char_t *create_seq_msg_store_key = 
         sandesha2_create_seq_bean_get_create_seq_msg_store_key(bean, env);
+    if(!create_seq_msg_store_key) create_seq_msg_store_key = "";
     axis2_char_t *ref_msg_store_key = 
         sandesha2_create_seq_bean_get_ref_msg_store_key(bean, env);
+    if(!ref_msg_store_key) ref_msg_store_key = "";
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
@@ -323,12 +340,17 @@
 
     axis2_char_t *create_seq_msg_id = sandesha2_create_seq_bean_get_create_seq_msg_id(
         (sandesha2_rm_bean_t *) bean, env);
+    if(!create_seq_msg_id) create_seq_msg_id = "";
     axis2_char_t *internal_seq_id = sandesha2_create_seq_bean_get_internal_seq_id(bean, env);
+    if(!internal_seq_id) internal_seq_id = "";
     axis2_char_t *seq_id = sandesha2_create_seq_bean_get_seq_id(bean, env);
+    if(!seq_id) seq_id = "";
     axis2_char_t *create_seq_msg_store_key = 
         sandesha2_create_seq_bean_get_create_seq_msg_store_key(bean, env);
+    if(!create_seq_msg_store_key) create_seq_msg_store_key = "";
     axis2_char_t *ref_msg_store_key = 
         sandesha2_create_seq_bean_get_ref_msg_store_key(bean, env);
+    if(!ref_msg_store_key) ref_msg_store_key = "";
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);

Modified: webservices/sandesha/trunk/c/src/storage/mysql/permanent_next_msg_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/mysql/permanent_next_msg_mgr.c?view=diff&rev=533482&r1=533481&r2=533482
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/mysql/permanent_next_msg_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/mysql/permanent_next_msg_mgr.c Sun Apr 29 01:01:27 2007
@@ -47,45 +47,40 @@
     void *data)
 {
     MYSQL_ROW row;
+    int num_rows, i = 0;
     sandesha2_next_msg_bean_t *bean = NULL;
     sandesha2_bean_mgr_args_t *args = (sandesha2_bean_mgr_args_t *) data;
     const axutil_env_t *env = args->env;
     axutil_array_list_t *data_list = (axutil_array_list_t *) args->data;
-    if((row = mysql_fetch_row(res)) != NULL)
+    num_rows = mysql_num_rows(res);
+    if(num_rows > 0)
     {
         if(!data_list)
         {
             data_list = axutil_array_list_create(env, 0);
             args->data = data_list;
         }
-        bean = sandesha2_next_msg_bean_create(env);
-        sandesha2_next_msg_bean_set_seq_id(bean, env, row[0]);
-        if(row[1] && 0 != axutil_strcmp("(null)", row[1]))
-        {
-            sandesha2_next_msg_bean_set_ref_msg_key(bean, env, row[1]);
-        }
-        sandesha2_next_msg_bean_set_polling_mode(bean, env, AXIS2_ATOI(row[2]));
-        sandesha2_next_msg_bean_set_next_msg_no_to_process(bean, env, 
-            atol(row[3]));
-        axutil_array_list_add(data_list, env, bean);
     }
     else
     {
         args->data = NULL;
         return 0;
     }
-    while((row = mysql_fetch_row(res)) != NULL)
+    for(i = 0; i < num_rows; i++)
     {
-        bean = sandesha2_next_msg_bean_create(env);
-        sandesha2_next_msg_bean_set_seq_id(bean, env, row[0]);
-        if(row[1] && 0 != axutil_strcmp("(null)", row[1]))
+        if((row = mysql_fetch_row(res)) != NULL)
         {
-            sandesha2_next_msg_bean_set_ref_msg_key(bean, env, row[1]);
+            bean = sandesha2_next_msg_bean_create(env);
+            sandesha2_next_msg_bean_set_seq_id(bean, env, row[0]);
+            if(row[1] && 0 != axutil_strcmp("(null)", row[1]))
+            {
+                sandesha2_next_msg_bean_set_ref_msg_key(bean, env, row[1]);
+            }
+            sandesha2_next_msg_bean_set_polling_mode(bean, env, AXIS2_ATOI(row[2]));
+            sandesha2_next_msg_bean_set_next_msg_no_to_process(bean, env, 
+                atol(row[3]));
+            axutil_array_list_add(data_list, env, bean);
         }
-        sandesha2_next_msg_bean_set_polling_mode(bean, env, AXIS2_ATOI(row[2]));
-        sandesha2_next_msg_bean_set_next_msg_no_to_process(bean, env, 
-            atol(row[3]));
-        axutil_array_list_add(data_list, env, bean);
     }
     return 0;
 }
@@ -101,20 +96,23 @@
     sandesha2_next_msg_bean_t *bean = (sandesha2_next_msg_bean_t *) args->data;
     if((row = mysql_fetch_row(res)) != NULL)
     {
+        unsigned long *lengths = NULL;
+        lengths = mysql_fetch_lengths(res);
         if(!bean)
         {
             bean = sandesha2_next_msg_bean_create(env);
             args->data = bean;
         }
-        sandesha2_next_msg_bean_set_seq_id(bean, env, row[0]);
-        if(row[1] && 0 != axutil_strcmp("(null)", row[1]))
-        {
+        if(0 < (int) lengths[0])
+            sandesha2_next_msg_bean_set_seq_id(bean, env, row[0]);
+        if(0 < (int) lengths[1])
             sandesha2_next_msg_bean_set_ref_msg_key(bean, env, row[1]);
-        }
-        sandesha2_next_msg_bean_set_polling_mode(bean, env, 
-            AXIS2_ATOI(row[2]));
-        sandesha2_next_msg_bean_set_next_msg_no_to_process(bean, env, 
-            atol(row[3]));
+        if(0 < (int) lengths[2])
+            sandesha2_next_msg_bean_set_polling_mode(bean, env, 
+                AXIS2_ATOI(row[2]));
+        if(0 < (int) lengths[3])
+            sandesha2_next_msg_bean_set_next_msg_no_to_process(bean, env, 
+                atol(row[3]));
     }
     else
     {
@@ -267,7 +265,9 @@
 
 	seq_id = sandesha2_next_msg_bean_get_seq_id((sandesha2_rm_bean_t *) bean, 
         env);
+    if(!seq_id) seq_id = "";
 	ref_msg_key = sandesha2_next_msg_bean_get_ref_msg_key(bean, env);
+    if(!ref_msg_key) ref_msg_key = "";
 	polling_mode = sandesha2_next_msg_bean_is_polling_mode(bean, env);
     msg_no = sandesha2_next_msg_bean_get_next_msg_no_to_process(bean, env);
 
@@ -342,7 +342,9 @@
 
     axis2_char_t *seq_id = sandesha2_next_msg_bean_get_seq_id((sandesha2_rm_bean_t *) bean, 
         env);
+    if(!seq_id) seq_id = "";
     axis2_char_t *ref_msg_key = sandesha2_next_msg_bean_get_ref_msg_key(bean, env);
+    if(!ref_msg_key) ref_msg_key = "";
     axis2_bool_t polling_mode = sandesha2_next_msg_bean_is_polling_mode(bean, env);
     long msg_no = sandesha2_next_msg_bean_get_next_msg_no_to_process(bean, env);
 

Modified: webservices/sandesha/trunk/c/src/storage/mysql/permanent_seq_property_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/mysql/permanent_seq_property_mgr.c?view=diff&rev=533482&r1=533481&r2=533482
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/mysql/permanent_seq_property_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/mysql/permanent_seq_property_mgr.c Sun Apr 29 01:01:27 2007
@@ -101,12 +101,12 @@
     if((row = mysql_fetch_row(res)) != NULL)
     {
         unsigned long *lengths = NULL;
+        lengths = mysql_fetch_lengths(res);
         if(!bean)
         {
             bean = sandesha2_seq_property_bean_create(env);
             args->data = bean;
         }
-        lengths = mysql_fetch_lengths(res);
         if(0 < (int) lengths[0])
             sandesha2_seq_property_bean_set_seq_id(bean, env, row[0]);
         if(0 < (int) lengths[1])



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org