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