summaryrefslogtreecommitdiff
path: root/libmysql
diff options
context:
space:
mode:
Diffstat (limited to 'libmysql')
-rw-r--r--libmysql/libmysql.c44
1 files changed, 24 insertions, 20 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 0c91ec11671..6f2ba791eef 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -1049,21 +1049,21 @@ read_one_row(MYSQL *mysql,uint fields,MYSQL_ROW row, ulong *lengths)
int STDCALL mysql_master_query(MYSQL *mysql, const char *q,
unsigned long length)
{
+ DBUG_ENTER("mysql_master_query");
if (mysql_master_send_query(mysql, q, length))
- return 1;
- return mysql_read_query_result(mysql);
+ DBUG_RETURN(1);
+ DBUG_RETURN(mysql_read_query_result(mysql));
}
int STDCALL mysql_master_send_query(MYSQL *mysql, const char *q,
unsigned long length)
{
- MYSQL*master = mysql->master;
- if (!length)
- length = strlen(q);
+ MYSQL *master = mysql->master;
+ DBUG_ENTER("mysql_master_send_query");
if (!master->net.vio && !mysql_real_connect(master,0,0,0,0,0,0,0))
- return 1;
+ DBUG_RETURN(1);
mysql->last_used_con = master;
- return simple_command(master, COM_QUERY, q, length, 1);
+ DBUG_RETURN(simple_command(master, COM_QUERY, q, length, 1));
}
@@ -1071,30 +1071,31 @@ int STDCALL mysql_master_send_query(MYSQL *mysql, const char *q,
int STDCALL mysql_slave_query(MYSQL *mysql, const char *q,
unsigned long length)
{
+ DBUG_ENTER("mysql_slave_query");
if (mysql_slave_send_query(mysql, q, length))
- return 1;
- return mysql_read_query_result(mysql);
+ DBUG_RETURN(1);
+ DBUG_RETURN(mysql_read_query_result(mysql));
}
int STDCALL mysql_slave_send_query(MYSQL *mysql, const char *q,
unsigned long length)
{
MYSQL* last_used_slave, *slave_to_use = 0;
+ DBUG_ENTER("mysql_slave_send_query");
if ((last_used_slave = mysql->last_used_slave))
slave_to_use = last_used_slave->next_slave;
else
slave_to_use = mysql->next_slave;
- /* next_slave is always safe to use - we have a circular list of slaves
- if there are no slaves, mysql->next_slave == mysql
+ /*
+ Next_slave is always safe to use - we have a circular list of slaves
+ if there are no slaves, mysql->next_slave == mysql
*/
mysql->last_used_con = mysql->last_used_slave = slave_to_use;
- if (!length)
- length = strlen(q);
if (!slave_to_use->net.vio && !mysql_real_connect(slave_to_use, 0,0,0,
0,0,0,0))
- return 1;
- return simple_command(slave_to_use, COM_QUERY, q, length, 1);
+ DBUG_RETURN(1);
+ DBUG_RETURN(simple_command(slave_to_use, COM_QUERY, q, length, 1));
}
@@ -1307,8 +1308,7 @@ err:
enum mysql_rpl_type
STDCALL mysql_rpl_query_type(const char* q, int len)
{
- const char* q_end;
- q_end = (len) ? q + len : strend(q);
+ const char *q_end= q + len;
for (; q < q_end; ++q)
{
char c;
@@ -2203,20 +2203,24 @@ STDCALL mysql_add_slave(MYSQL* mysql, const char* host,
int STDCALL
mysql_send_query(MYSQL* mysql, const char* query, ulong length)
{
+ DBUG_ENTER("mysql_send_query");
+ DBUG_PRINT("enter",("rpl_parse: %d rpl_pivot: %d",
+ mysql->options.rpl_parse, mysql->rpl_pivot));
+
if (mysql->options.rpl_parse && mysql->rpl_pivot)
{
switch (mysql_rpl_query_type(query, length)) {
case MYSQL_RPL_MASTER:
- return mysql_master_send_query(mysql, query, length);
+ DBUG_RETURN(mysql_master_send_query(mysql, query, length));
case MYSQL_RPL_SLAVE:
- return mysql_slave_send_query(mysql, query, length);
+ DBUG_RETURN(mysql_slave_send_query(mysql, query, length));
case MYSQL_RPL_ADMIN:
break; /* fall through */
}
}
mysql->last_used_con = mysql;
- return simple_command(mysql, COM_QUERY, query, length, 1);
+ DBUG_RETURN(simple_command(mysql, COM_QUERY, query, length, 1));
}