From: vasil.dimov Date: July 7 2010 5:15pm Subject: bzr commit into mysql-5.0-bugteam branch (vasil.dimov:2878) Bug#49238 List-Archive: http://lists.mysql.com/commits/113054 X-Bug: 49238 Message-Id: <20100707171507.246A92E0AB@mail.v5d.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0529274306476354676==" --===============0529274306476354676== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///usr/local/devel/bzrroot/server/mysql-5.0-bugteam/ based on revid:georgi.kodinov@stripped 2878 Vasil Dimov 2010-07-07 Merge the fix for Bug#49238 from SVN (without the unrelated whitespace changes): ------------------------------------------------------------------------ r7009 | jyang | 2010-04-29 20:44:56 +0300 (Thu, 29 Apr 2010) | 6 lines branches/5.0: Port fix for bug #49238 (Creating/Dropping a temporary table while at 1023 transactions will cause assert) from 5.1 to branches/5.1. Separate action for return value DB_TOO_MANY_CONCURRENT_TRXS from that of DB_MUST_GET_MORE_FILE_SPACE in row_drop_table_for_mysql(). ------------------------------------------------------------------------ modified: innobase/row/row0mysql.c === modified file 'innobase/row/row0mysql.c' --- a/innobase/row/row0mysql.c revid:georgi.kodinov@stripped +++ b/innobase/row/row0mysql.c revid:vasil.dimov@stripped @@ -3335,20 +3335,13 @@ fputs(" InnoDB: You are trying to drop err = trx->error_state; - if (err != DB_SUCCESS) { - ut_a(err == DB_OUT_OF_FILE_SPACE); - - err = DB_MUST_GET_MORE_FILE_SPACE; - - row_mysql_handle_errors(&err, trx, thr, NULL); - - ut_error; - } else { + switch (err) { ibool is_path; const char* name_or_path; + case DB_SUCCESS: space_id = table->space; - + if (table->dir_path_of_temp_table != NULL) { dir_path_of_temp_table = mem_strdup(table->dir_path_of_temp_table); @@ -3407,7 +3400,27 @@ fputs(" InnoDB: You are trying to drop err = DB_ERROR; } } + break; + + case DB_TOO_MANY_CONCURRENT_TRXS: + /* Cannot even find a free slot for the + the undo log. We can directly exit here + and return the DB_TOO_MANY_CONCURRENT_TRXS + error. */ + break; + + case DB_OUT_OF_FILE_SPACE: + err = DB_MUST_GET_MORE_FILE_SPACE; + + row_mysql_handle_errors(&err, trx, thr, NULL); + + /* Fall through to raise error */ + + default: + /* No other possible error returns */ + ut_error; } + funct_exit: trx_commit_for_mysql(trx); --===============0529274306476354676== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/vasil.dimov@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: vasil.dimov@stripped # target_branch: file:///usr/local/devel/bzrroot/server/mysql-5.0-\ # bugteam/ # testament_sha1: c561f0af16ac99d442eaa8c5a7218f39a1ab8017 # timestamp: 2010-07-07 20:15:06 +0300 # base_revision_id: georgi.kodinov@stripped\ # jq7dlije4wokktui # # Begin bundle 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 --===============0529274306476354676==--