Author: damitha
Date: Sun Apr 29 00:29:31 2007
New Revision: 533477

URL: http://svn.apache.org/viewvc?view=rev&rev=533477
Log:
In the process of improving mysql database access

Modified:
    webservices/sandesha/trunk/c/src/storage/mysql/permanent_sender_mgr.c
    webservices/sandesha/trunk/c/src/storage/mysql/permanent_seq_property_mgr.c
    webservices/sandesha/trunk/c/src/storage/mysql/permanent_storage_mgr.c

Modified: webservices/sandesha/trunk/c/src/storage/mysql/permanent_sender_mgr.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/mysql/permanent_sender_mgr.c?view=diff&rev=533477&r1=533476&r2=533477
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/mysql/permanent_sender_mgr.c 
(original)
+++ webservices/sandesha/trunk/c/src/storage/mysql/permanent_sender_mgr.c Sun 
Apr 29 00:29:31 2007
@@ -47,53 +47,58 @@
     void *data)
 {
     MYSQL_ROW row;
+    int num_rows, i = 0;
     sandesha2_sender_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_sender_bean_create(env);
-        sandesha2_sender_bean_set_msg_id(bean, env, row[0]);
-        sandesha2_sender_bean_set_msg_ctx_ref_key(bean, env, row[1]);
-        sandesha2_sender_bean_set_internal_seq_id(bean, env, row[2]);
-        sandesha2_sender_bean_set_sent_count(bean, env, AXIS2_ATOI(row[3]));
-        sandesha2_sender_bean_set_msg_no(bean, env, atol(row[4]));
-        sandesha2_sender_bean_set_send(bean, env, AXIS2_ATOI(row[5]));
-        sandesha2_sender_bean_set_resend(bean, env, AXIS2_ATOI(row[6]));
-        sandesha2_sender_bean_set_time_to_send(bean, env, atol(row[7]));
-        sandesha2_sender_bean_set_msg_type(bean, env, AXIS2_ATOI(row[8]));
-        sandesha2_sender_bean_set_seq_id(bean, env, row[9]);
-        sandesha2_sender_bean_set_wsrm_anon_uri(bean, env, row[10]);
-        sandesha2_sender_bean_set_to_address(bean, env, row[11]);
-        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_sender_bean_create(env);
-        sandesha2_sender_bean_set_msg_id(bean, env, row[0]);
-        sandesha2_sender_bean_set_msg_ctx_ref_key(bean, env, row[1]);
-        sandesha2_sender_bean_set_internal_seq_id(bean, env, row[2]);
-        sandesha2_sender_bean_set_sent_count(bean, env, AXIS2_ATOI(row[3]));
-        sandesha2_sender_bean_set_msg_no(bean, env, atol(row[4]));
-        sandesha2_sender_bean_set_send(bean, env, AXIS2_ATOI(row[5]));
-        sandesha2_sender_bean_set_resend(bean, env, AXIS2_ATOI(row[6]));
-        sandesha2_sender_bean_set_time_to_send(bean, env, atol(row[7]));
-        sandesha2_sender_bean_set_msg_type(bean, env, AXIS2_ATOI(row[8]));
-        sandesha2_sender_bean_set_seq_id(bean, env, row[9]);
-        sandesha2_sender_bean_set_wsrm_anon_uri(bean, env, row[10]);
-        sandesha2_sender_bean_set_to_address(bean, env, row[11]);
-        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_sender_bean_create(env);
+            if(0 < (int) lengths[0])
+                sandesha2_sender_bean_set_msg_id(bean, env, row[0]);
+            if(0 < (int) lengths[1])
+                sandesha2_sender_bean_set_msg_ctx_ref_key(bean, env, row[1]);
+            if(0 < (int) lengths[2])
+                sandesha2_sender_bean_set_internal_seq_id(bean, env, row[2]);
+            if(0 < (int) lengths[3])
+                sandesha2_sender_bean_set_sent_count(bean, env, 
AXIS2_ATOI(row[3]));
+            if(0 < (int) lengths[4])
+                sandesha2_sender_bean_set_msg_no(bean, env, atol(row[4]));
+            if(0 < (int) lengths[5])
+                sandesha2_sender_bean_set_send(bean, env, AXIS2_ATOI(row[5]));
+            if(0 < (int) lengths[6])
+                sandesha2_sender_bean_set_resend(bean, env, 
AXIS2_ATOI(row[6]));
+            if(0 < (int) lengths[7])
+                sandesha2_sender_bean_set_time_to_send(bean, env, 
atol(row[7]));
+            if(0 < (int) lengths[8])
+                sandesha2_sender_bean_set_msg_type(bean, env, 
AXIS2_ATOI(row[8]));
+            if(0 < (int) lengths[9])
+                sandesha2_sender_bean_set_seq_id(bean, env, row[9]);
+            if(0 < (int) lengths[10])
+                sandesha2_sender_bean_set_wsrm_anon_uri(bean, env, row[10]);
+            if(0 < (int) lengths[11])
+                sandesha2_sender_bean_set_to_address(bean, env, row[11]);
+            axutil_array_list_add(data_list, env, bean);
+        }
     }
     return 0;
 }
@@ -273,8 +278,11 @@
 
     axis2_char_t *msg_id = 
sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *) bean, 
         env);
+    if(!msg_id) msg_id = "";
     axis2_char_t *msg_ctx_ref_key = 
sandesha2_sender_bean_get_msg_ctx_ref_key(bean, env);
+    if(!msg_ctx_ref_key) msg_ctx_ref_key = "";
     axis2_char_t *internal_seq_id = 
sandesha2_sender_bean_get_internal_seq_id(bean, env);
+    if(!internal_seq_id) internal_seq_id = "";
     int sent_count = sandesha2_sender_bean_get_sent_count(bean, env);
     long msg_no = sandesha2_sender_bean_get_msg_no(bean, env);
     axis2_bool_t send = sandesha2_sender_bean_is_send(bean, env);
@@ -282,8 +290,11 @@
     long time_to_send = sandesha2_sender_bean_get_time_to_send(bean, env);
     int msg_type = sandesha2_sender_bean_get_msg_type(bean, env);
     axis2_char_t *seq_id = sandesha2_sender_bean_get_seq_id(bean, env);
+    if(!seq_id) seq_id = "";
     axis2_char_t *wsrm_anon_uri = 
sandesha2_sender_bean_get_wsrm_anon_uri(bean, env);
+    if(!wsrm_anon_uri) wsrm_anon_uri = "";
     axis2_char_t *to_address = sandesha2_sender_bean_get_to_address(bean, env);
+    if(!to_address) to_address = "";
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
@@ -373,8 +384,11 @@
 
     axis2_char_t *msg_id = 
sandesha2_sender_bean_get_msg_id((sandesha2_rm_bean_t *) bean, 
         env);
+    if(!msg_id) msg_id = "";
     axis2_char_t *msg_ctx_ref_key = 
sandesha2_sender_bean_get_msg_ctx_ref_key(bean, env);
+    if(!msg_ctx_ref_key) msg_ctx_ref_key = "";
     axis2_char_t *internal_seq_id = 
sandesha2_sender_bean_get_internal_seq_id(bean, env);
+    if(!internal_seq_id) internal_seq_id = "";
     int sent_count = sandesha2_sender_bean_get_sent_count(bean, env);
     long msg_no = sandesha2_sender_bean_get_msg_no(bean, env);
     axis2_bool_t send = sandesha2_sender_bean_is_send(bean, env);
@@ -382,8 +396,11 @@
     long time_to_send = sandesha2_sender_bean_get_time_to_send(bean, env);
     int msg_type = sandesha2_sender_bean_get_msg_type(bean, env);
     axis2_char_t *seq_id = sandesha2_sender_bean_get_seq_id(bean, env);
+    if(!seq_id) seq_id = "";
     axis2_char_t *wsrm_anon_uri = 
sandesha2_sender_bean_get_wsrm_anon_uri(bean, env);
+    if(!wsrm_anon_uri) wsrm_anon_uri = "";
     axis2_char_t *to_address = sandesha2_sender_bean_get_to_address(bean, env);
+    if(!to_address) to_address = "";
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);

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=533477&r1=533476&r2=533477
==============================================================================
--- 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 00:29:31 2007
@@ -73,10 +73,15 @@
     {
         if((row = mysql_fetch_row(res)) != NULL)
         {
+            unsigned long *lengths = NULL;
+            lengths = mysql_fetch_lengths(res);
             bean = sandesha2_seq_property_bean_create(env);
-            sandesha2_seq_property_bean_set_seq_id(bean, env, row[0]);
-            sandesha2_seq_property_bean_set_name(bean, env, row[1]);
-            sandesha2_seq_property_bean_set_value(bean, env, row[2]);
+            if(0 < (int) lengths[0])
+                sandesha2_seq_property_bean_set_seq_id(bean, env, row[0]);
+            if(0 < (int) lengths[1])
+                sandesha2_seq_property_bean_set_name(bean, env, row[1]);
+            if(0 < (int) lengths[2])
+                sandesha2_seq_property_bean_set_value(bean, env, row[2]);
             axutil_array_list_add(data_list, env, bean);
         }
     }
@@ -89,25 +94,25 @@
     void *data)
 {
     MYSQL_ROW row;
-    int num_rows = -1;
     sandesha2_bean_mgr_args_t *args = (sandesha2_bean_mgr_args_t *) data;
     const axutil_env_t *env = args->env;
     sandesha2_seq_property_bean_t *bean = NULL;
     bean = (sandesha2_seq_property_bean_t *) args->data;
-    num_rows = mysql_num_rows(res);
-    if(num_rows > 0)
+    if((row = mysql_fetch_row(res)) != NULL)
     {
+        unsigned long *lengths = NULL;
         if(!bean)
         {
             bean = sandesha2_seq_property_bean_create(env);
             args->data = bean;
         }
-        if((row = mysql_fetch_row(res)) != NULL)
-        {
+        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])
             sandesha2_seq_property_bean_set_name(bean, env, row[1]);
+        if(0 < (int) lengths[2])
             sandesha2_seq_property_bean_set_value(bean, env, row[2]);
-        }
     }
     else
     {
@@ -264,9 +269,13 @@
     sandesha2_permanent_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     axis2_char_t *id = 
sandesha2_permanent_seq_property_mgr_get_id_with_bean(env, bean);
+    if(!id) id = "";
     axis2_char_t *seq_id = sandesha2_seq_property_bean_get_seq_id(bean, env);
+    if(!seq_id) seq_id = "";
     axis2_char_t *name = sandesha2_seq_property_bean_get_name(bean, env);
+    if(!name) name = "";
     axis2_char_t *value = sandesha2_seq_property_bean_get_value(bean, env);
+    if(!value) value = "";
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
@@ -351,9 +360,13 @@
     sandesha2_permanent_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
 
     axis2_char_t *id = 
sandesha2_permanent_seq_property_mgr_get_id_with_bean(env, bean);
+    if(!id) id = "";
     axis2_char_t *seq_id = sandesha2_seq_property_bean_get_seq_id(bean, env);
+    if(!seq_id) seq_id = "";
     axis2_char_t *name = sandesha2_seq_property_bean_get_name(bean, env);
+    if(!name) name = "";
     axis2_char_t *value = sandesha2_seq_property_bean_get_value(bean, env);
+    if(!value) value = "";
 
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);

Modified: webservices/sandesha/trunk/c/src/storage/mysql/permanent_storage_mgr.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/mysql/permanent_storage_mgr.c?view=diff&rev=533477&r1=533476&r2=533477
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/mysql/permanent_storage_mgr.c 
(original)
+++ webservices/sandesha/trunk/c/src/storage/mysql/permanent_storage_mgr.c Sun 
Apr 29 00:29:31 2007
@@ -566,8 +566,11 @@
     storage_mgr_impl = SANDESHA2_INTF_TO_IMPL(storage_mgr);
     axutil_allocator_switch_to_global_pool(env->allocator);
     if(storage_mgr_impl->msg_ctx_map)
-        entry = axutil_hash_get(storage_mgr_impl->msg_ctx_map, key, 
-            AXIS2_HASH_KEY_STRING);
+    {
+        if(key)
+            entry = axutil_hash_get(storage_mgr_impl->msg_ctx_map, key, 
+                AXIS2_HASH_KEY_STRING);
+    }
     if(entry)
     {
         axis2_op_ctx_t *op_ctx = 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to