From: Dmitry Lenev
Date: November 12 2010 1:58pm
Subject: bzr push into mysql-5.5-runtime branch (Dmitry.Lenev:3181 to 3182) Bug#54673
Bug#57006
List-Archive: http://lists.mysql.com/commits/123731
X-Bug: 54673,57006
Message-Id: <20101112135852.2393AE58D3@mockturtle>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
3182 Dmitry Lenev 2010-11-12
Follow-up for patch fixing bug #57006 "Deadlock between
HANDLER and FLUSH TABLES WITH READ LOCK" and bug #54673
"It takes too long to get readlock for 'FLUSH TABLES
WITH READ LOCK'".
Disable execution of flush_read_lock.test on embedded
server. This test uses too many statements which are
not supported by embedded server.
modified:
mysql-test/t/flush_read_lock.test
3181 Konstantin Osipov 2010-11-12
Implement a fix for Bug#57058 -- send SERVER_QUERY_WAS_SLOW over
network when a query was slow.
When a query is slow, sent a special flag to the client
indicating this fact.
Add a test case.
Implement review comments.
@ include/mysql_com.h
Clear SERVER_QUERY_WAS_SLOW at end of each statement.
Since this patch removes the technique when
thd->server_status is modified briefly only to
execute my_eof(), reset more server status
bit that may remain in the status from
execution of the previous statement.
@ sql/protocol.cc
Always use thd->server_status to
in net_* functions to send the latest
status to the client.
@ sql/sp_head.cc
Calculate if a query was slow before
sending EOF packet.
@ sql/sql_cursor.cc
Remove juggling with thd->server_status.
The extra status bits are reset at
start of the next statement.
@ sql/sql_db.cc
Remove juggling with thd->server_status.
The extra status bits are reset at
start of the next statement.
@ sql/sql_error.cc
Remove m_server_status member,
it's not really part of the Diagnostics_area.
@ sql/sql_error.h
Remove server_status member, it's
not part of the Diagnostics_area.
The associated hack is removed as well.
@ sql/sql_parse.cc
Do not calculate if a query was
slow twice. Use a status flag in thd->server_status.
@ tests/mysql_client_test.c
Add a test case for Bug#57058.
Check that the status is present
at the client, when sent.
modified:
include/mysql_com.h
sql/protocol.cc
sql/sp_head.cc
sql/sql_class.h
sql/sql_cursor.cc
sql/sql_db.cc
sql/sql_error.cc
sql/sql_error.h
sql/sql_parse.cc
tests/mysql_client_test.c
=== modified file 'mysql-test/t/flush_read_lock.test'
--- a/mysql-test/t/flush_read_lock.test 2010-11-11 17:11:05 +0000
+++ b/mysql-test/t/flush_read_lock.test 2010-11-12 13:57:08 +0000
@@ -7,6 +7,9 @@
--source include/have_innodb.inc
# We need the Debug Sync Facility.
--source include/have_debug_sync.inc
+# Parts of this test use DDL on events, BINLOG statement and
+# other statements which are not supported in embedded server.
+-- source include/not_embedded.inc
# Save the initial number of concurrent sessions.
--source include/count_sessions.inc
No bundle (reason: useless for push emails).