From: Oystein Grovlen Date: November 10 2010 2:48pm Subject: bzr commit into mysql-5.5-bugteam branch (oystein.grovlen:3114) Bug#57704 List-Archive: http://lists.mysql.com/commits/123430 X-Bug: 57704 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0148885102==" --===============0148885102== 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:dmitry.shulga@stripped 3114 Oystein Grovlen 2010-11-10 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-10 14:48:29 +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-10 14:48:29 +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 ER_OPERAND_COLUMNS +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-10-20 19:02:59 +0000 +++ b/sql/sql_union.cc 2010-11-10 14:48:29 +0000 @@ -434,6 +434,7 @@ bool st_select_lex_unit::prepare(THD *th err: thd_arg->lex->current_select= lex_select_save; + (void) cleanup(); DBUG_RETURN(TRUE); } --===============0148885102== 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\ # 2fi3rvv9vwosruhj # target_branch: file:///home/og136792/mysql/mysql-5.5-bugteam/ # testament_sha1: 4e5aa13e982e268400824583933f84719e304973 # timestamp: 2010-11-10 15:48:40 +0100 # base_revision_id: dmitry.shulga@stripped\ # kcnqay5s8s959l8x # # Begin bundle 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 /i7kinChIe4REaY= --===============0148885102==--