List:Commits« Previous MessageNext Message »
From:marko.makela Date:May 12 2010 11:23am
Subject:bzr push into mysql-trunk-innodb branch (marko.makela:3090 to 3091)
View as plain text  
 3091 Marko Mäkelä	2010-05-12
      Merge from mysql-5.1-innodb:
      
        ------------------------------------------------------------
        revno: 3462
        revision-id: marko.makela@stripped1obxjb8tfg4
        parent: marko.makela@stripped512060922-oh716ugpukfakwvh
        committer: Marko Mäkelä <marko.makela@stripped>
        branch nick: mysql-5.1-innodb
        timestamp: Wed 2010-05-12 13:42:12 +0300
        message:
          ha_innobase::add_index(): Reset trx->error_state in error handling.
          (Bug #53591)

    added:
      mysql-test/suite/innodb/r/innodb_bug53591.result
      mysql-test/suite/innodb/t/innodb_bug53591.test
    modified:
      storage/innobase/handler/handler0alter.cc
 3090 Vasil Dimov	2010-05-12
      Fix the failing innodb.innodb test.
      
      Support returning 512 and 511 pages for the buffer pool size, this
      is undeterministic and probably depends on alignment issues.
      
      The default buffer pool size is 8M (512) pages, which is set in
      include/default_mysqld.cnf. So the previous "replace_result 8192 8191"
      had no effect.

    modified:
      mysql-test/suite/innodb/r/innodb.result
      mysql-test/suite/innodb/t/innodb.test
=== added file 'mysql-test/suite/innodb/r/innodb_bug53591.result'
--- a/mysql-test/suite/innodb/r/innodb_bug53591.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb/r/innodb_bug53591.result	revid:marko.makela@oracle.com-20100512111926-jaz947yfip1exxix
@@ -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/t/innodb_bug53591.test'
--- a/mysql-test/suite/innodb/t/innodb_bug53591.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb/t/innodb_bug53591.test	revid:marko.makela@stripped6-jaz947yfip1exxix
@@ -0,0 +1,22 @@
+-- source include/have_innodb.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/innobase/handler/handler0alter.cc'
--- a/storage/innobase/handler/handler0alter.cc	revid:vasil.dimov@stripped091350-idbzw2ihdqlgkfch
+++ b/storage/innobase/handler/handler0alter.cc	revid:marko.makela@stripped26-jaz947yfip1exxix
@@ -896,6 +896,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-20100512111926-jaz947yfip1exxix.bundle
Thread
bzr push into mysql-trunk-innodb branch (marko.makela:3090 to 3091) marko.makela12 May