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]