From: Oystein Grovlen Date: November 4 2010 10:37am Subject: bzr commit into mysql-5.5-bugteam branch (oystein.grovlen:3258) Bug#57704 List-Archive: http://lists.mysql.com/commits/122825 X-Bug: 57704 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0729611588==" --===============0729611588== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/og136792/mysql/mysql-5.5-bugteam/ based on revid:davi.arnaut@stripped 3258 Oystein Grovlen 2010-11-04 Bug#57704 Cleanup code dies with void TABLE::set_keyread(bool): Assertion `file' failed. This bug was introduced in this revision: kostja@stripped ("A pre-requisite patch for the fix for Bug#52044.") It happens because close_thread_tables() is now called in open_and_lock_tables upon failure. Hence, table is no longer open when optimizer tries to do cleanup. Fix: Make sure to do cleanup in st_select_lex_unit::prepare() upon failure. This way, cleanup() is called before tables are released. @ mysql-test/r/subselect.result Added test case for Bug#57704. @ mysql-test/t/subselect.test Added test case for Bug#57704. @ sql/sql_union.cc st_select_lex_unit::prepare(): On failure, make sure cleanup() is called. modified: mysql-test/r/subselect.result mysql-test/t/subselect.test sql/sql_union.cc === modified file 'mysql-test/r/subselect.result' --- a/mysql-test/r/subselect.result 2010-09-09 15:00:33 +0000 +++ b/mysql-test/r/subselect.result 2010-11-04 10:36:24 +0000 @@ -5005,3 +5005,15 @@ SELECT * FROM t2 UNION SELECT * FROM t2 ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE)); DROP TABLE t1,t2; End of 5.1 tests +# +# Bug #57704: Cleanup code dies with void TABLE::set_keyread(bool): +# Assertion `file' failed. +# +CREATE TABLE t1 (a INT); +SELECT 1 FROM +(SELECT ROW( +(SELECT 1 FROM t1 RIGHT JOIN +(SELECT 1 FROM t1, t1 t2) AS d ON 1), +1) FROM t1) AS e; +ERROR 21000: Operand should contain 1 column(s) +DROP TABLE t1; === modified file 'mysql-test/t/subselect.test' --- a/mysql-test/t/subselect.test 2010-06-25 13:32:47 +0000 +++ b/mysql-test/t/subselect.test 2010-11-04 10:36:24 +0000 @@ -3946,3 +3946,21 @@ DROP TABLE t1,t2; --enable_result_log --echo End of 5.1 tests + +--echo # +--echo # Bug #57704: Cleanup code dies with void TABLE::set_keyread(bool): +--echo # Assertion `file' failed. +--echo # + +CREATE TABLE t1 (a INT); + +--error 1241 +SELECT 1 FROM + (SELECT ROW( + (SELECT 1 FROM t1 RIGHT JOIN + (SELECT 1 FROM t1, t1 t2) AS d ON 1), + 1) FROM t1) AS e; + +DROP TABLE t1; + + === modified file 'sql/sql_union.cc' --- a/sql/sql_union.cc 2010-07-27 12:42:36 +0000 +++ b/sql/sql_union.cc 2010-11-04 10:36:24 +0000 @@ -443,6 +443,7 @@ bool st_select_lex_unit::prepare(THD *th err: thd_arg->lex->current_select= lex_select_save; + cleanup(); DBUG_RETURN(TRUE); } --===============0729611588== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/oystein.grovlen@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: oystein.grovlen@stripped\ # qb71grlewtq3gm7s # target_branch: file:///home/og136792/mysql/mysql-5.5-bugteam/ # testament_sha1: 0744037e3ffdd12241b90b3b9e7bc2187b4a5517 # timestamp: 2010-11-04 11:37:25 +0100 # base_revision_id: davi.arnaut@stripped\ # cze6nig1civwdpk8 # # Begin bundle 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 --===============0729611588==--