List:Commits« Previous MessageNext Message »
From:marko.makela Date:May 12 2010 10:42am
Subject:bzr commit into mysql-5.1-innodb branch (marko.makela:3462) Bug#53591
View as plain text  
#At file:///home/marko/innobase/dev/mysql-5.1-innodb2/ based on revid:marko.makela@strippedugpukfakwvh

 3462 Marko Mäkelä	2010-05-12
      ha_innobase::add_index(): Reset trx->error_state in error handling.
      (Bug #53591)

    added:
      mysql-test/suite/innodb_plugin/r/innodb_bug53591.result
      mysql-test/suite/innodb_plugin/t/innodb_bug53591.test
    modified:
      storage/innodb_plugin/handler/handler0alter.cc
=== added file 'mysql-test/suite/innodb_plugin/r/innodb_bug53591.result'
--- a/mysql-test/suite/innodb_plugin/r/innodb_bug53591.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb_plugin/r/innodb_bug53591.result	revid:marko.makela@stripped
@@ -0,0 +1,16 @@
+SET GLOBAL innodb_file_format='Barracuda';
+SET GLOBAL innodb_file_per_table=on;
+set old_alter_table=0;
+CREATE TABLE bug53591(a text charset utf8 not null)
+ENGINE=InnoDB KEY_BLOCK_SIZE=1;
+ALTER TABLE bug53591 ADD PRIMARY KEY(a(220));
+ERROR HY000: Too big row
+SHOW WARNINGS;
+Level	Code	Message
+Error	139	Too big row
+Error	1118	Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
+Error	1030	Got error 139 from storage engine
+DROP TABLE bug53591;
+SET GLOBAL innodb_file_format=Antelope;
+SET GLOBAL innodb_file_format_check=Antelope;
+SET GLOBAL innodb_file_per_table=0;

=== added file 'mysql-test/suite/innodb_plugin/t/innodb_bug53591.test'
--- a/mysql-test/suite/innodb_plugin/t/innodb_bug53591.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb_plugin/t/innodb_bug53591.test	revid:marko.makela@stripped
@@ -0,0 +1,22 @@
+-- source include/have_innodb_plugin.inc
+
+let $file_format=`select @@innodb_file_format`;
+let $file_format_check=`select @@innodb_file_format_check`;
+let $file_per_table=`select @@innodb_file_per_table`;
+
+SET GLOBAL innodb_file_format='Barracuda';
+SET GLOBAL innodb_file_per_table=on;
+
+set old_alter_table=0;
+
+CREATE TABLE bug53591(a text charset utf8 not null)
+ENGINE=InnoDB KEY_BLOCK_SIZE=1;
+-- error 139
+ALTER TABLE bug53591 ADD PRIMARY KEY(a(220));
+SHOW WARNINGS;
+
+DROP TABLE bug53591;
+
+EVAL SET GLOBAL innodb_file_format=$file_format;
+EVAL SET GLOBAL innodb_file_format_check=$file_format_check;
+EVAL SET GLOBAL innodb_file_per_table=$file_per_table;

=== modified file 'storage/innodb_plugin/handler/handler0alter.cc'
--- a/storage/innodb_plugin/handler/handler0alter.cc	revid:marko.makela@stripped922-oh716ugpukfakwvh
+++ b/storage/innodb_plugin/handler/handler0alter.cc	revid:marko.makela@stripped4212-e2h9n1obxjb8tfg4
@@ -894,6 +894,8 @@ error:
 		prebuilt->trx->error_info = NULL;
 		/* fall through */
 	default:
+		trx->error_state = DB_SUCCESS;
+
 		if (new_primary) {
 			if (indexed_table != innodb_table) {
 				row_merge_drop_table(trx, indexed_table);

Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20100512104212-e2h9n1obxjb8tfg4.bundle
Thread
bzr commit into mysql-5.1-innodb branch (marko.makela:3462) Bug#53591marko.makela12 May