Fix more prepare stmt id related problems

This commit is contained in:
wangbin579 2019-07-09 13:04:10 +03:00
parent 90df8e89c1
commit c870f946e6
2 changed files with 4 additions and 2 deletions

View File

@ -1391,6 +1391,7 @@ network_read_query(network_mysqld_con *con, proxy_plugin_con_t *st)
con->slave_conn_shortaged = 0;
con->use_slave_forced = 0;
con->candidate_fast_streamed = 0;
con->candidate_tcp_streamed = 1;
network_injection_queue_reset(st->injected.queries);
@ -1425,8 +1426,9 @@ network_read_query(network_mysqld_con *con, proxy_plugin_con_t *st)
case COM_BINLOG_DUMP:
network_mysqld_con_send_error(con->client, C("(proxy) unable to process binlog dump"));
return PROXY_SEND_RESULT;
case COM_QUERY:
case COM_STMT_PREPARE:
con->candidate_tcp_streamed = 0;
case COM_QUERY:
if (!process_query_or_stmt_prepare(con, st, &packet, &query_attr, command, &disp_flag)) {
return disp_flag;
}

View File

@ -4231,7 +4231,7 @@ normal_read_query_result(network_mysqld_con *con, network_mysqld_con_state_t ost
}
}
if (!g_queue_is_empty(con->client->send_queue->chunks)) {
if (con->candidate_tcp_streamed && !g_queue_is_empty(con->client->send_queue->chunks)) {
g_debug("%s: send_part_content_to_client:%p", G_STRLOC, con);
send_part_content_to_client(con);
}