List:Commits« Previous MessageNext Message »
From:Alexey Kopytov Date:October 1 2010 7:57pm
Subject:bzr commit into mysql-5.1-bugteam branch (Alexey.Kopytov:3515)
View as plain text  
#At file:///data/src/bzr/bugteam/mysql-5.1-bugteam/ based on revid:alexey.kopytov@stripped

 3515 Alexey Kopytov	2010-10-01 [merge]
      Automerge.

    added:
      mysql-test/r/partition_binlog_stmt.result
      mysql-test/suite/innodb_plugin/r/innodb_bug53756.result
      mysql-test/suite/innodb_plugin/t/innodb_bug53756-master.opt
      mysql-test/suite/innodb_plugin/t/innodb_bug53756.test
      mysql-test/t/partition_binlog_stmt.test
    modified:
      config/ac-macros/maintainer.m4
      mysql-test/r/merge.result
      mysql-test/r/partition.result
      mysql-test/r/ps_2myisam.result
      mysql-test/r/ps_3innodb.result
      mysql-test/r/ps_4heap.result
      mysql-test/r/ps_5merge.result
      mysql-test/t/merge.test
      mysql-test/t/partition.test
      mysys/my_getopt.c
      sql/ha_partition.cc
      sql/ha_partition.h
      sql/item_func.cc
      sql/log.cc
      sql/sql_cache.cc
      sql/sql_table.cc
      sql/table.cc
      sql/table.h
      storage/innobase/btr/btr0btr.c
      storage/innobase/btr/btr0cur.c
      storage/innobase/btr/btr0pcur.c
      storage/innobase/btr/btr0sea.c
      storage/innobase/buf/buf0flu.c
      storage/innobase/eval/eval0eval.c
      storage/innobase/handler/ha_innodb.cc
      storage/innobase/include/ut0rnd.ic
      storage/innobase/lock/lock0lock.c
      storage/innobase/log/log0recv.c
      storage/innobase/os/os0file.c
      storage/innobase/que/que0que.c
      storage/innobase/row/row0mysql.c
      storage/innobase/row/row0purge.c
      storage/innobase/row/row0umod.c
      storage/innobase/row/row0upd.c
      storage/innobase/row/row0vers.c
      storage/innobase/trx/trx0purge.c
      storage/innobase/trx/trx0roll.c
      storage/innobase/trx/trx0sys.c
      storage/innobase/trx/trx0trx.c
      storage/innobase/trx/trx0undo.c
      storage/innodb_plugin/ChangeLog
      storage/innodb_plugin/btr/btr0btr.c
      storage/innodb_plugin/btr/btr0cur.c
      storage/innodb_plugin/btr/btr0pcur.c
      storage/innodb_plugin/btr/btr0sea.c
      storage/innodb_plugin/buf/buf0flu.c
      storage/innodb_plugin/dict/dict0crea.c
      storage/innodb_plugin/dict/dict0dict.c
      storage/innodb_plugin/dict/dict0load.c
      storage/innodb_plugin/eval/eval0eval.c
      storage/innodb_plugin/handler/ha_innodb.cc
      storage/innodb_plugin/handler/i_s.cc
      storage/innodb_plugin/include/os0sync.h
      storage/innodb_plugin/include/univ.i
      storage/innodb_plugin/include/ut0rnd.ic
      storage/innodb_plugin/log/log0recv.c
      storage/innodb_plugin/os/os0file.c
      storage/innodb_plugin/que/que0que.c
      storage/innodb_plugin/row/row0mysql.c
      storage/innodb_plugin/row/row0purge.c
      storage/innodb_plugin/row/row0umod.c
      storage/innodb_plugin/row/row0vers.c
      storage/innodb_plugin/trx/trx0purge.c
      storage/innodb_plugin/trx/trx0roll.c
      storage/innodb_plugin/trx/trx0sys.c
      storage/innodb_plugin/trx/trx0trx.c
      storage/innodb_plugin/trx/trx0undo.c
      storage/myisam/mi_range.c
      storage/myisam/mi_search.c
      storage/myisam/rt_index.c
      storage/myisam/rt_split.c
=== modified file 'config/ac-macros/maintainer.m4'
--- a/config/ac-macros/maintainer.m4	2010-07-09 12:51:21 +0000
+++ b/config/ac-macros/maintainer.m4	2010-09-24 12:36:31 +0000
@@ -16,7 +16,7 @@ AC_DEFUN([MY_MAINTAINER_MODE], [
 AC_DEFUN([MY_MAINTAINER_MODE_WARNINGS], [
   # Setup GCC warning options.
   AS_IF([test "$GCC" = "yes"], [
-    C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Werror"
+    C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
     CXX_WARNINGS="${C_WARNINGS} -Wno-unused-parameter"
   ])
 

=== modified file 'mysql-test/r/merge.result'
--- a/mysql-test/r/merge.result	2010-03-19 06:01:02 +0000
+++ b/mysql-test/r/merge.result	2010-04-26 13:44:10 +0000
@@ -2298,4 +2298,45 @@ t2 WHERE b SOUNDS LIKE e AND d = 1;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 1	SIMPLE	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Impossible WHERE noticed after reading const tables
 DROP TABLE t2, t1;
+#
+# Bug#46339 - crash on REPAIR TABLE merge table USE_FRM
+#
+DROP TABLE IF EXISTS m1, t1;
+CREATE TABLE t1 (c1 INT) ENGINE=MYISAM;
+CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1) INSERT_METHOD=LAST;
+LOCK TABLE m1 READ;
+REPAIR TABLE m1 USE_FRM;
+Table	Op	Msg_type	Msg_text
+test.m1	repair	note	The storage engine for the table doesn't support repair
+UNLOCK TABLES;
+REPAIR TABLE m1 USE_FRM;
+Table	Op	Msg_type	Msg_text
+test.m1	repair	note	The storage engine for the table doesn't support repair
+DROP TABLE m1,t1;
+CREATE TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+REPAIR TABLE m1 USE_FRM;
+Table	Op	Msg_type	Msg_text
+test.m1	repair	Error	Can't open table
+test.m1	repair	error	Corrupt
+CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM;
+REPAIR TABLE m1 USE_FRM;
+Table	Op	Msg_type	Msg_text
+test.m1	repair	note	The storage engine for the table doesn't support repair
+REPAIR TABLE m1;
+Table	Op	Msg_type	Msg_text
+test.m1	repair	note	The storage engine for the table doesn't support repair
+DROP TABLE m1, t1;
+CREATE TEMPORARY TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+REPAIR TABLE m1 USE_FRM;
+Table	Op	Msg_type	Msg_text
+test.m1	repair	Error	Table 'test.m1' doesn't exist
+test.m1	repair	error	Corrupt
+CREATE TEMPORARY TABLE t1 (f1 BIGINT) ENGINE=MyISAM;
+REPAIR TABLE m1 USE_FRM;
+Table	Op	Msg_type	Msg_text
+m1	repair	error	Cannot repair temporary table from .frm file
+REPAIR TABLE m1;
+Table	Op	Msg_type	Msg_text
+test.m1	repair	note	The storage engine for the table doesn't support repair
+DROP TABLE m1, t1;
 End of 5.1 tests

=== modified file 'mysql-test/r/partition.result'
--- a/mysql-test/r/partition.result	2010-09-10 09:52:35 +0000
+++ b/mysql-test/r/partition.result	2010-10-01 13:41:27 +0000
@@ -1,5 +1,20 @@
 drop table if exists t1, t2;
 #
+# Bug#57113: ha_partition::extra(ha_extra_function):
+#            Assertion `m_extra_cache' failed
+CREATE TABLE t1
+(id INT NOT NULL PRIMARY KEY,
+name VARCHAR(16) NOT NULL,
+year YEAR,
+INDEX name (name(8))
+)
+PARTITION BY HASH(id) PARTITIONS 2;
+INSERT INTO t1 VALUES ( 1, 'FooBar', '1924' );
+CREATE TABLE t2 (id INT);
+INSERT INTO t2 VALUES (1),(2);
+UPDATE t1, t2 SET t1.year = '1955' WHERE t1.name = 'FooBar';
+DROP TABLE t1, t2;
+#
 # Bug#55458: Partitioned MyISAM table gets crashed by multi-table update 
 #
 CREATE TABLE t1 (

=== added file 'mysql-test/r/partition_binlog_stmt.result'
--- a/mysql-test/r/partition_binlog_stmt.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/partition_binlog_stmt.result	2010-10-01 11:39:04 +0000
@@ -0,0 +1,13 @@
+DROP TABLE IF EXISTS t1;
+#
+# Bug#51851: Server with SBR locks mutex twice on LOAD DATA into
+#            partitioned MyISAM table
+CREATE TABLE t1
+(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+name TINYBLOB NOT NULL,
+modified TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+INDEX namelocs (name(255))) ENGINE = MyISAM
+PARTITION BY HASH(id) PARTITIONS 2;
+LOAD DATA LOCAL INFILE 'init_file.txt'
+INTO TABLE t1 (name);
+DROP TABLE t1;

=== modified file 'mysql-test/r/ps_2myisam.result'
--- a/mysql-test/r/ps_2myisam.result	2009-02-05 09:49:32 +0000
+++ b/mysql-test/r/ps_2myisam.result	2010-08-16 13:43:21 +0000
@@ -1929,26 +1929,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select @arg01:=  c1, @arg02:=  c2, @arg03:=  c3, @arg04:=  c4,
@@ -1976,26 +1976,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select 
@@ -2026,26 +2026,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -2066,26 +2066,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2114,26 +2114,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2158,26 +2158,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2204,26 +2204,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -2242,26 +2242,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;

=== modified file 'mysql-test/r/ps_3innodb.result'
--- a/mysql-test/r/ps_3innodb.result	2009-02-05 09:49:32 +0000
+++ b/mysql-test/r/ps_3innodb.result	2010-08-16 13:43:21 +0000
@@ -1912,26 +1912,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select @arg01:=  c1, @arg02:=  c2, @arg03:=  c3, @arg04:=  c4,
@@ -1959,26 +1959,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select 
@@ -2009,26 +2009,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -2049,26 +2049,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2097,26 +2097,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2141,26 +2141,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2187,26 +2187,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -2225,26 +2225,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;

=== modified file 'mysql-test/r/ps_4heap.result'
--- a/mysql-test/r/ps_4heap.result	2009-02-05 09:49:32 +0000
+++ b/mysql-test/r/ps_4heap.result	2010-08-16 13:43:21 +0000
@@ -1913,26 +1913,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	0	31	8
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	0	31	8
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	0	31	8
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	0	31	8
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	0	31	8
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	0	31	8
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	0	31	8
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	0	31	8
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select @arg01:=  c1, @arg02:=  c2, @arg03:=  c3, @arg04:=  c4,
@@ -1960,26 +1960,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	0	31	8
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	0	31	8
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	0	31	8
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	0	31	8
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	0	31	8
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	0	31	8
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	0	31	8
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	0	31	8
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select 
@@ -2010,26 +2010,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	0	31	8
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	0	31	8
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	0	31	8
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	0	31	8
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	0	31	8
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	0	31	8
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	0	31	8
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	0	31	8
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -2050,26 +2050,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	0	31	8
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	0	31	8
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	0	31	8
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	0	31	8
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	0	31	8
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	0	31	8
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	0	31	8
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	0	31	8
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2098,26 +2098,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	0	31	8
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	0	31	8
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	0	31	8
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	0	31	8
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	0	31	8
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	0	31	8
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	0	31	8
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	0	31	8
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2142,26 +2142,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	0	31	8
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	0	31	8
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	0	31	8
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	0	31	8
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	0	31	8
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	0	31	8
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	0	31	8
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	0	31	8
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2188,26 +2188,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	0	31	8
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	0	31	8
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	0	31	8
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	0	31	8
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	0	31	8
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	0	31	8
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	0	31	8
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	0	31	8
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -2226,26 +2226,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	0	31	8
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	0	31	8
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	0	31	8
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	0	31	8
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	0	31	8
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	0	31	8
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	0	31	8
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	0	31	8
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;

=== modified file 'mysql-test/r/ps_5merge.result'
--- a/mysql-test/r/ps_5merge.result	2009-02-05 09:49:32 +0000
+++ b/mysql-test/r/ps_5merge.result	2010-08-16 13:43:21 +0000
@@ -1849,26 +1849,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select @arg01:=  c1, @arg02:=  c2, @arg03:=  c3, @arg04:=  c4,
@@ -1896,26 +1896,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select 
@@ -1946,26 +1946,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -1986,26 +1986,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -2034,26 +2034,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2078,26 +2078,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -2124,26 +2124,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -2162,26 +2162,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
@@ -4871,26 +4871,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select @arg01:=  c1, @arg02:=  c2, @arg03:=  c3, @arg04:=  c4,
@@ -4918,26 +4918,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select 
@@ -4968,26 +4968,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -5008,26 +5008,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
@@ -5056,26 +5056,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -5100,26 +5100,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
@@ -5146,26 +5146,26 @@ def					@arg09	5	23	1	Y	32896	31	63
 def					@arg10	5	23	1	Y	32896	31	63
 def					@arg11	246	83	6	Y	128	30	63
 def					@arg12	246	83	6	Y	128	30	63
-def					@arg13	251	16777216	10	Y	128	31	63
-def					@arg14	251	16777216	19	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	8	Y	128	31	63
+def					@arg13	250	16777215	10	Y	128	31	63
+def					@arg14	250	16777215	19	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	8	Y	128	31	63
 def					@arg17	8	20	4	Y	32928	0	63
 def					@arg18	8	20	1	Y	32896	0	63
 def					@arg19	8	20	1	Y	32896	0	63
-def					@arg20	251	16777216	1	Y	0	31	8
-def					@arg21	251	16777216	10	Y	0	31	8
-def					@arg22	251	16777216	30	Y	0	31	8
-def					@arg23	251	16777216	8	Y	128	31	63
-def					@arg24	251	16777216	8	Y	0	31	8
-def					@arg25	251	16777216	4	Y	128	31	63
-def					@arg26	251	16777216	4	Y	0	31	8
-def					@arg27	251	16777216	10	Y	128	31	63
-def					@arg28	251	16777216	10	Y	0	31	8
-def					@arg29	251	16777216	8	Y	128	31	63
-def					@arg30	251	16777216	8	Y	0	31	8
-def					@arg31	251	16777216	3	Y	0	31	8
-def					@arg32	251	16777216	6	Y	0	31	8
+def					@arg20	250	16777215	1	Y	0	31	8
+def					@arg21	250	16777215	10	Y	0	31	8
+def					@arg22	250	16777215	30	Y	0	31	8
+def					@arg23	250	16777215	8	Y	128	31	63
+def					@arg24	250	16777215	8	Y	0	31	8
+def					@arg25	250	16777215	4	Y	128	31	63
+def					@arg26	250	16777215	4	Y	0	31	8
+def					@arg27	250	16777215	10	Y	128	31	63
+def					@arg28	250	16777215	10	Y	0	31	8
+def					@arg29	250	16777215	8	Y	128	31	63
+def					@arg30	250	16777215	8	Y	0	31	8
+def					@arg31	250	16777215	3	Y	0	31	8
+def					@arg32	250	16777215	6	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 1	1	1	1	1	1	1	1	1	1	1.0000	1.0000	2004-02-29	2004-02-29 11:11:11	2004-02-29 11:11:11	11:11:11	2004	1	1	a	123456789a	123456789a123456789b123456789c	tinyblob	tinytext	blob	text	mediumblob	mediumtext	longblob	longtext	one	monday
 set @my_key= 0 ;
@@ -5184,26 +5184,26 @@ def					@arg09	5	23	0	Y	32896	31	63
 def					@arg10	5	23	0	Y	32896	31	63
 def					@arg11	246	83	0	Y	128	30	63
 def					@arg12	246	83	0	Y	128	30	63
-def					@arg13	251	16777216	0	Y	128	31	63
-def					@arg14	251	16777216	0	Y	128	31	63
-def					@arg15	251	16777216	19	Y	128	31	63
-def					@arg16	251	16777216	0	Y	128	31	63
+def					@arg13	250	16777215	0	Y	128	31	63
+def					@arg14	250	16777215	0	Y	128	31	63
+def					@arg15	250	16777215	19	Y	128	31	63
+def					@arg16	250	16777215	0	Y	128	31	63
 def					@arg17	8	20	0	Y	32928	0	63
 def					@arg18	8	20	0	Y	32896	0	63
 def					@arg19	8	20	0	Y	32896	0	63
-def					@arg20	251	16777216	0	Y	0	31	8
-def					@arg21	251	16777216	0	Y	0	31	8
-def					@arg22	251	16777216	0	Y	0	31	8
-def					@arg23	251	16777216	0	Y	128	31	63
-def					@arg24	251	16777216	0	Y	0	31	8
-def					@arg25	251	16777216	0	Y	128	31	63
-def					@arg26	251	16777216	0	Y	0	31	8
-def					@arg27	251	16777216	0	Y	128	31	63
-def					@arg28	251	16777216	0	Y	0	31	8
-def					@arg29	251	16777216	0	Y	128	31	63
-def					@arg30	251	16777216	0	Y	0	31	8
-def					@arg31	251	16777216	0	Y	0	31	8
-def					@arg32	251	16777216	0	Y	0	31	8
+def					@arg20	250	16777215	0	Y	0	31	8
+def					@arg21	250	16777215	0	Y	0	31	8
+def					@arg22	250	16777215	0	Y	0	31	8
+def					@arg23	250	16777215	0	Y	128	31	63
+def					@arg24	250	16777215	0	Y	0	31	8
+def					@arg25	250	16777215	0	Y	128	31	63
+def					@arg26	250	16777215	0	Y	0	31	8
+def					@arg27	250	16777215	0	Y	128	31	63
+def					@arg28	250	16777215	0	Y	0	31	8
+def					@arg29	250	16777215	0	Y	128	31	63
+def					@arg30	250	16777215	0	Y	0	31	8
+def					@arg31	250	16777215	0	Y	0	31	8
+def					@arg32	250	16777215	0	Y	0	31	8
 @arg01	@arg02	@arg03	@arg04	@arg05	@arg06	@arg07	@arg08	@arg09	@arg10	@arg11	@arg12	@arg13	@arg14	@arg15	@arg16	@arg17	@arg18	@arg19	@arg20	@arg21	@arg22	@arg23	@arg24	@arg25	@arg26	@arg27	@arg28	@arg29	@arg30	@arg31	@arg32
 0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1991-01-01 01:01:01	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL
 prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;

=== added file 'mysql-test/suite/innodb_plugin/r/innodb_bug53756.result'
--- a/mysql-test/suite/innodb_plugin/r/innodb_bug53756.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb_plugin/r/innodb_bug53756.result	2010-09-07 05:41:37 +0000
@@ -0,0 +1,118 @@
+DROP TABLE IF EXISTS bug_53756 ;
+CREATE TABLE bug_53756 (pk INT, c1 INT) ENGINE=InnoDB;
+ALTER TABLE bug_53756 ADD PRIMARY KEY (pk);
+INSERT INTO bug_53756 VALUES(1, 11), (2, 22), (3, 33), (4, 44);
+
+# Select a less restrictive isolation level.
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+COMMIT;
+
+# Start a transaction in the default connection for isolation.
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+SELECT * FROM bug_53756;
+pk	c1
+1	11
+2	22
+3	33
+4	44
+
+# connection con1 deletes row 1
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+DELETE FROM bug_53756 WHERE pk=1;
+
+# connection con2 deletes row 2
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+DELETE FROM bug_53756 WHERE pk=2;
+
+# connection con3 updates row 3
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+UPDATE bug_53756 SET c1=77 WHERE pk=3;
+
+# connection con4 updates row 4
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+UPDATE bug_53756 SET c1=88 WHERE pk=4;
+
+# connection con5 inserts row 5
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+INSERT INTO bug_53756 VALUES(5, 55);
+
+# connection con6 inserts row 6
+START TRANSACTION;
+SELECT @@tx_isolation;
+@@tx_isolation
+READ-COMMITTED
+INSERT INTO bug_53756 VALUES(6, 66);
+
+# connection con1 commits.
+COMMIT;
+
+# connection con3 commits.
+COMMIT;
+
+# connection con4 rolls back.
+ROLLBACK;
+
+# connection con6 rolls back.
+ROLLBACK;
+
+# The connections 2 and 5 stay open.
+
+# connection default selects resulting data.
+# Delete of row 1 was committed.
+# Update of row 3 was committed.
+# Due to isolation level read committed, these should be included.
+# All other changes should not be included.
+SELECT * FROM bug_53756;
+pk	c1
+2	22
+3	77
+4	44
+
+# connection default
+#
+# Crash server.
+START TRANSACTION;
+INSERT INTO bug_53756 VALUES (666,666);
+SET SESSION debug="+d,crash_commit_before";
+COMMIT;
+ERROR HY000: Lost connection to MySQL server during query
+
+#
+# disconnect con1, con2, con3, con4, con5, con6.
+#
+# Restart server.
+
+#
+# Select recovered data.
+# Delete of row 1 was committed.
+# Update of row 3 was committed.
+# These should be included.
+# All other changes should not be included.
+# Delete of row 2 and insert of row 5 should be rolled back
+SELECT * FROM bug_53756;
+pk	c1
+2	22
+3	77
+4	44
+
+# Clean up.
+DROP TABLE bug_53756;

=== added file 'mysql-test/suite/innodb_plugin/t/innodb_bug53756-master.opt'
--- a/mysql-test/suite/innodb_plugin/t/innodb_bug53756-master.opt	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb_plugin/t/innodb_bug53756-master.opt	2010-09-07 05:41:37 +0000
@@ -0,0 +1 @@
+--skip-stack-trace --skip-core-file

=== added file 'mysql-test/suite/innodb_plugin/t/innodb_bug53756.test'
--- a/mysql-test/suite/innodb_plugin/t/innodb_bug53756.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/innodb_plugin/t/innodb_bug53756.test	2010-09-07 05:41:37 +0000
@@ -0,0 +1,184 @@
+# This is the test case for bug #53756. Alter table operation could
+# leave a deleted record for the temp table (later renamed to the altered
+# table) in the SYS_TABLES secondary index, we should ignore this row and
+# find the first non-deleted row for the specified table_id when load table
+# metadata in the function dict_load_table_on_id() during crash recovery.
+
+#
+# innobackup needs to connect to the server. Not supported in embedded.
+--source include/not_embedded.inc
+#
+# This test case needs to crash the server. Needs a debug server.
+--source include/have_debug.inc
+#
+# Don't test this under valgrind, memory leaks will occur.
+--source include/not_valgrind.inc
+#
+# This test case needs InnoDB.
+-- source include/have_innodb_plugin.inc
+
+#
+# Precautionary clean up.
+#
+--disable_warnings
+DROP TABLE IF EXISTS bug_53756 ;
+--enable_warnings
+
+#
+# Create test data.
+#
+CREATE TABLE bug_53756 (pk INT, c1 INT) ENGINE=InnoDB;
+ALTER TABLE bug_53756 ADD PRIMARY KEY (pk);
+INSERT INTO bug_53756 VALUES(1, 11), (2, 22), (3, 33), (4, 44);
+
+--echo
+--echo # Select a less restrictive isolation level.
+# Don't use user variables. They won't survive server crash.
+--let $global_isolation= `SELECT @@global.tx_isolation`;
+--let $session_isolation= `SELECT @@session.tx_isolation`;
+SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
+SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
+COMMIT;
+
+--echo
+--echo # Start a transaction in the default connection for isolation.
+START TRANSACTION;
+SELECT @@tx_isolation;
+SELECT * FROM bug_53756;
+
+--echo
+--echo # connection con1 deletes row 1
+--connect (con1,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+DELETE FROM bug_53756 WHERE pk=1;
+
+--echo
+--echo # connection con2 deletes row 2
+--connect (con2,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+DELETE FROM bug_53756 WHERE pk=2;
+
+--echo
+--echo # connection con3 updates row 3
+--connect (con3,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+UPDATE bug_53756 SET c1=77 WHERE pk=3;
+
+--echo
+--echo # connection con4 updates row 4
+--connect (con4,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+UPDATE bug_53756 SET c1=88 WHERE pk=4;
+
+--echo
+--echo # connection con5 inserts row 5
+--connect (con5,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+INSERT INTO bug_53756 VALUES(5, 55);
+
+--echo
+--echo # connection con6 inserts row 6
+--connect (con6,localhost,root,,)
+START TRANSACTION;
+SELECT @@tx_isolation;
+INSERT INTO bug_53756 VALUES(6, 66);
+
+--echo
+--echo # connection con1 commits.
+--connection con1
+COMMIT;
+
+--echo
+--echo # connection con3 commits.
+--connection con3
+COMMIT;
+
+--echo
+--echo # connection con4 rolls back.
+--connection con4
+ROLLBACK;
+
+--echo
+--echo # connection con6 rolls back.
+--connection con6
+ROLLBACK;
+
+--echo
+--echo # The connections 2 and 5 stay open.
+
+--echo
+--echo # connection default selects resulting data.
+--echo # Delete of row 1 was committed.
+--echo # Update of row 3 was committed.
+--echo # Due to isolation level read committed, these should be included.
+--echo # All other changes should not be included.
+--connection default
+SELECT * FROM bug_53756;
+
+--echo
+--echo # connection default
+--connection default
+--echo #
+--echo # Crash server.
+#
+# Write file to make mysql-test-run.pl expect the "crash", but don't start
+# it until it's told to
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+#
+START TRANSACTION;
+INSERT INTO bug_53756 VALUES (666,666);
+#
+# Request a crash on next execution of commit.
+SET SESSION debug="+d,crash_commit_before";
+#
+# Execute the statement that causes the crash.
+--error 2013
+COMMIT;
+--echo
+--echo #
+--echo # disconnect con1, con2, con3, con4, con5, con6.
+--disconnect con1
+--disconnect con2
+--disconnect con3
+--disconnect con4
+--disconnect con5
+--disconnect con6
+--echo #
+--echo # Restart server.
+#
+# Write file to make mysql-test-run.pl start up the server again
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+#
+# Turn on reconnect
+--enable_reconnect
+#
+# Call script that will poll the server waiting for it to be back online again
+--source include/wait_until_connected_again.inc
+#
+# Turn off reconnect again
+--disable_reconnect
+--echo
+
+--echo #
+--echo # Select recovered data.
+--echo # Delete of row 1 was committed.
+--echo # Update of row 3 was committed.
+--echo # These should be included.
+--echo # All other changes should not be included.
+--echo # Delete of row 2 and insert of row 5 should be rolled back
+SELECT * FROM bug_53756;
+
+--echo
+--echo # Clean up.
+DROP TABLE bug_53756;
+
+--disable_query_log
+eval SET GLOBAL tx_isolation= '$global_isolation';
+eval SET SESSION tx_isolation= '$session_isolation';
+--enable_query_log
+

=== modified file 'mysql-test/t/merge.test'
--- a/mysql-test/t/merge.test	2010-03-19 06:01:02 +0000
+++ b/mysql-test/t/merge.test	2010-04-26 13:44:10 +0000
@@ -1705,4 +1705,82 @@ t2 WHERE b SOUNDS LIKE e AND d = 1;
 
 DROP TABLE t2, t1;
 
+--echo #
+--echo # Bug#46339 - crash on REPAIR TABLE merge table USE_FRM
+--echo #
+--disable_warnings
+DROP TABLE IF EXISTS m1, t1;
+--enable_warnings
+#
+# Test derived from a proposal of Shane Bester.
+#
+CREATE TABLE t1 (c1 INT) ENGINE=MYISAM;
+CREATE TABLE m1 (c1 INT) ENGINE=MRG_MyISAM UNION=(t1) INSERT_METHOD=LAST;
+#
+# REPAIR ... USE_FRM with LOCK TABLES.
+#
+LOCK TABLE m1 READ;
+REPAIR TABLE m1 USE_FRM;
+UNLOCK TABLES;
+#
+# REPAIR ... USE_FRM without LOCK TABLES.
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+DROP TABLE m1,t1;
+#
+# Test derived from a proposal of Matthias Leich.
+#
+# Base table is missing.
+#
+CREATE TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Create base table.
+#
+CREATE TABLE t1 (f1 BIGINT) ENGINE = MyISAM;
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Normal repair as reference.
+#
+REPAIR TABLE m1;
+#
+# Cleanup.
+#
+DROP TABLE m1, t1;
+#
+# Same with temporary tables.
+#
+# Base table is missing.
+#
+CREATE TEMPORARY TABLE m1 (f1 BIGINT) ENGINE=MRG_MyISAM UNION(t1);
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Create base table.
+#
+CREATE TEMPORARY TABLE t1 (f1 BIGINT) ENGINE=MyISAM;
+#
+# This statement crashed the server (Bug#46339).
+#
+REPAIR TABLE m1 USE_FRM;
+#
+# Normal repair as reference.
+#
+REPAIR TABLE m1;
+#
+# Cleanup.
+#
+DROP TABLE m1, t1;
+
 --echo End of 5.1 tests

=== modified file 'mysql-test/t/partition.test'
--- a/mysql-test/t/partition.test	2010-08-10 08:43:12 +0000
+++ b/mysql-test/t/partition.test	2010-09-30 13:57:33 +0000
@@ -15,6 +15,28 @@ drop table if exists t1, t2;
 --enable_warnings
 
 --echo #
+--echo # Bug#57113: ha_partition::extra(ha_extra_function):
+--echo #            Assertion `m_extra_cache' failed
+CREATE TABLE t1
+(id INT NOT NULL PRIMARY KEY,
+ name VARCHAR(16) NOT NULL,
+ year YEAR,
+ INDEX name (name(8))
+)
+PARTITION BY HASH(id) PARTITIONS 2;
+
+INSERT INTO t1 VALUES ( 1, 'FooBar', '1924' );
+
+CREATE TABLE t2 (id INT);
+
+INSERT INTO t2 VALUES (1),(2);
+
+UPDATE t1, t2 SET t1.year = '1955' WHERE t1.name = 'FooBar';
+
+DROP TABLE t1, t2;
+
+
+--echo #
 --echo # Bug#55458: Partitioned MyISAM table gets crashed by multi-table update 
 --echo #
 CREATE TABLE t1 (

=== added file 'mysql-test/t/partition_binlog_stmt.test'
--- a/mysql-test/t/partition_binlog_stmt.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/partition_binlog_stmt.test	2010-10-01 11:39:04 +0000
@@ -0,0 +1,26 @@
+--source include/have_partition.inc
+--source include/have_binlog_format_statement.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+--echo #
+--echo # Bug#51851: Server with SBR locks mutex twice on LOAD DATA into
+--echo #            partitioned MyISAM table
+--write_file init_file.txt
+abcd
+EOF
+
+CREATE TABLE t1
+(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ name TINYBLOB NOT NULL,
+ modified TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+ INDEX namelocs (name(255))) ENGINE = MyISAM
+PARTITION BY HASH(id) PARTITIONS 2;
+
+LOAD DATA LOCAL INFILE 'init_file.txt'
+INTO TABLE t1 (name);
+
+--remove_file init_file.txt
+DROP TABLE t1;

=== modified file 'mysys/my_getopt.c'
--- a/mysys/my_getopt.c	2010-08-04 12:58:09 +0000
+++ b/mysys/my_getopt.c	2010-09-24 22:13:51 +0000
@@ -112,7 +112,7 @@ int handle_options(int *argc, char ***ar
 		   const struct my_option *longopts,
                    my_get_one_option get_one_option)
 {
-  uint opt_found, argvpos= 0, length;
+  uint UNINIT_VAR(opt_found), argvpos= 0, length;
   my_bool end_of_options= 0, must_be_var, set_maximum_value,
           option_is_loose;
   char **pos, **pos_end, *optend, *opt_str, key_name[FN_REFLEN];
@@ -121,7 +121,6 @@ int handle_options(int *argc, char ***ar
   void *value;
   int error, i;
 
-  LINT_INIT(opt_found);
   /* handle_options() assumes arg0 (program name) always exists */
   DBUG_ASSERT(argc && *argc >= 1);
   DBUG_ASSERT(argv && *argv);

=== modified file 'sql/ha_partition.cc'
--- a/sql/ha_partition.cc	2010-09-10 09:52:35 +0000
+++ b/sql/ha_partition.cc	2010-10-01 13:41:27 +0000
@@ -2451,6 +2451,21 @@ err1:
 /****************************************************************************
                 MODULE open/close object
 ****************************************************************************/
+
+
+/**
+  A destructor for partition-specific TABLE_SHARE data.
+*/
+
+void ha_data_partition_destroy(void *ha_data)
+{
+  if (ha_data)
+  {
+    HA_DATA_PARTITION *ha_part_data= (HA_DATA_PARTITION*) ha_data;
+    pthread_mutex_destroy(&ha_part_data->LOCK_auto_inc);
+  }
+}
+
 /*
   Open handler object
 
@@ -2607,6 +2622,8 @@ int ha_partition::open(const char *name,
     }
     DBUG_PRINT("info", ("table_share->ha_data 0x%p", ha_data));
     bzero(ha_data, sizeof(HA_DATA_PARTITION));
+    table_share->ha_data_destroy= ha_data_partition_destroy;
+    VOID(pthread_mutex_init(&ha_data->LOCK_auto_inc, MY_MUTEX_INIT_FAST));
   }
   if (is_not_tmp_table)
     pthread_mutex_unlock(&table_share->mutex);
@@ -5555,7 +5572,6 @@ int ha_partition::extra(enum ha_extra_fu
     DBUG_RETURN(prepare_for_rename());
     break;
   case HA_EXTRA_PREPARE_FOR_UPDATE:
-    DBUG_ASSERT(m_extra_cache);
     /*
       Needs to be run on the first partition in the range now, and 
       later in late_extra_cache, when switching to a new partition to scan.
@@ -5563,6 +5579,8 @@ int ha_partition::extra(enum ha_extra_fu
     m_extra_prepare_for_update= TRUE;
     if (m_part_spec.start_part != NO_CURRENT_PART_ID)
     {
+      if (!m_extra_cache)
+        m_extra_cache_part_id= m_part_spec.start_part;
       DBUG_ASSERT(m_extra_cache_part_id == m_part_spec.start_part);
       VOID(m_file[m_part_spec.start_part]->extra(HA_EXTRA_PREPARE_FOR_UPDATE));
     }
@@ -5825,19 +5843,22 @@ void ha_partition::late_extra_cache(uint
 {
   handler *file;
   DBUG_ENTER("ha_partition::late_extra_cache");
-  DBUG_PRINT("info", ("extra_cache %u partid %u size %u", m_extra_cache,
+  DBUG_PRINT("info", ("extra_cache %u prepare %u partid %u size %u",
+                      m_extra_cache, m_extra_prepare_for_update,
                       partition_id, m_extra_cache_size));
 
   if (!m_extra_cache && !m_extra_prepare_for_update)
     DBUG_VOID_RETURN;
   file= m_file[partition_id];
-  if (m_extra_cache_size == 0)
-    VOID(file->extra(HA_EXTRA_CACHE));
-  else
-    VOID(file->extra_opt(HA_EXTRA_CACHE, m_extra_cache_size));
+  if (m_extra_cache)
+  {
+    if (m_extra_cache_size == 0)
+      VOID(file->extra(HA_EXTRA_CACHE));
+    else
+      VOID(file->extra_opt(HA_EXTRA_CACHE, m_extra_cache_size));
+  }
   if (m_extra_prepare_for_update)
   {
-    DBUG_ASSERT(m_extra_cache);
     VOID(file->extra(HA_EXTRA_PREPARE_FOR_UPDATE));
   }
   m_extra_cache_part_id= partition_id;

=== modified file 'sql/ha_partition.h'
--- a/sql/ha_partition.h	2010-09-07 15:56:43 +0000
+++ b/sql/ha_partition.h	2010-10-01 11:39:49 +0000
@@ -44,6 +44,7 @@ typedef struct st_partition_share
 typedef struct st_ha_data_partition
 {
   ulonglong next_auto_inc_val;                 /**< first non reserved value */
+  pthread_mutex_t LOCK_auto_inc;
   bool auto_inc_initialized;
 } HA_DATA_PARTITION;
 
@@ -948,8 +949,9 @@ private:
     DBUG_ASSERT(table_share->ha_data && !auto_increment_lock);
     if(table_share->tmp_table == NO_TMP_TABLE)
     {
+      HA_DATA_PARTITION *ha_data= (HA_DATA_PARTITION*) table_share->ha_data;
       auto_increment_lock= TRUE;
-      pthread_mutex_lock(&table_share->mutex);
+      pthread_mutex_lock(&ha_data->LOCK_auto_inc);
     }
   }
   virtual void unlock_auto_increment()
@@ -962,7 +964,8 @@ private:
     */
     if(auto_increment_lock && !auto_increment_safe_stmt_log_lock)
     {
-      pthread_mutex_unlock(&table_share->mutex);
+      HA_DATA_PARTITION *ha_data= (HA_DATA_PARTITION*) table_share->ha_data;
+      pthread_mutex_unlock(&ha_data->LOCK_auto_inc);
       auto_increment_lock= FALSE;
     }
   }

=== modified file 'sql/item_func.cc'
--- a/sql/item_func.cc	2010-08-01 18:12:36 +0000
+++ b/sql/item_func.cc	2010-08-16 13:43:21 +0000
@@ -4640,7 +4640,7 @@ void Item_func_get_user_var::fix_length_
       decimals=0;
       break;
     case STRING_RESULT:
-      max_length= MAX_BLOB_WIDTH;
+      max_length= MAX_BLOB_WIDTH - 1;
       break;
     case DECIMAL_RESULT:
       max_length= DECIMAL_MAX_STR_LENGTH;

=== modified file 'sql/log.cc'
--- a/sql/log.cc	2010-09-02 13:05:06 +0000
+++ b/sql/log.cc	2010-09-22 12:53:06 +0000
@@ -5072,10 +5072,32 @@ extern "C" my_bool reopen_fstreams(const
                                    FILE *outstream, FILE *errstream)
 {
   int handle_fd;
-  int stream_fd;
+  int err_fd, out_fd;
   HANDLE osfh;
 
-  DBUG_ASSERT(filename && (outstream || errstream));
+  DBUG_ASSERT(filename && errstream);
+
+  // Services don't have stdout/stderr on Windows, so _fileno returns -1.
+  err_fd= _fileno(errstream);
+  if (err_fd < 0)
+  {
+    if (!freopen(filename, "a+", errstream))
+      return TRUE;
+
+    setbuf(errstream, NULL);
+    err_fd= _fileno(errstream);
+  }
+
+  if (outstream)
+  {
+    out_fd= _fileno(outstream);
+    if (out_fd < 0)
+    {
+      if (!freopen(filename, "a+", outstream))
+        return TRUE;
+      out_fd= _fileno(outstream);
+    }
+  }
 
   if ((osfh= CreateFile(filename, GENERIC_READ | GENERIC_WRITE,
                         FILE_SHARE_READ | FILE_SHARE_WRITE |
@@ -5091,24 +5113,16 @@ extern "C" my_bool reopen_fstreams(const
     return TRUE;
   }
 
-  if (outstream)
+  if (_dup2(handle_fd, err_fd) < 0)
   {
-    stream_fd= _fileno(outstream);
-    if (_dup2(handle_fd, stream_fd) < 0)
-    {
-      CloseHandle(osfh);
-      return TRUE;
-    }
+    CloseHandle(osfh);
+    return TRUE;
   }
 
-  if (errstream)
+  if (outstream && _dup2(handle_fd, out_fd) < 0)
   {
-    stream_fd= _fileno(errstream);
-    if (_dup2(handle_fd, stream_fd) < 0)
-    {
-      CloseHandle(osfh);
-      return TRUE;
-    }
+    CloseHandle(osfh);
+    return TRUE;
   }
 
   _close(handle_fd);

=== modified file 'sql/sql_cache.cc'
--- a/sql/sql_cache.cc	2010-09-16 10:24:27 +0000
+++ b/sql/sql_cache.cc	2010-09-24 12:03:28 +0000
@@ -1330,6 +1330,7 @@ end:
 }
 
 
+#ifndef EMBEDDED_LIBRARY
 /**
   Send a single memory block from the query cache.
 
@@ -1377,6 +1378,7 @@ send_data_in_chunks(NET *net, const ucha
 
   return FALSE;
 }
+#endif
 
 
 /*

=== modified file 'sql/sql_table.cc'
--- a/sql/sql_table.cc	2010-09-16 10:51:08 +0000
+++ b/sql/sql_table.cc	2010-09-21 14:37:18 +0000
@@ -4416,9 +4416,6 @@ static int prepare_for_repair(THD *thd, 
     pthread_mutex_unlock(&LOCK_open);
   }
 
-  /* A MERGE table must not come here. */
-  DBUG_ASSERT(!table->child_l);
-
   /*
     REPAIR TABLE ... USE_FRM for temporary tables makes little sense.
   */

=== modified file 'sql/table.cc'
--- a/sql/table.cc	2010-07-20 18:07:36 +0000
+++ b/sql/table.cc	2010-10-01 11:39:04 +0000
@@ -425,6 +425,11 @@ void free_table_share(TABLE_SHARE *share
       key_info->flags= 0;
     }
   }
+  if (share->ha_data_destroy)
+  {
+    share->ha_data_destroy(share->ha_data);
+    share->ha_data_destroy= NULL;
+  }
   /* We must copy mem_root from share because share is allocated through it */
   memcpy((char*) &mem_root, (char*) &share->mem_root, sizeof(mem_root));
   free_root(&mem_root, MYF(0));                 // Free's share
@@ -1616,6 +1621,11 @@ static int open_binary_frm(THD *thd, TAB
   delete crypted;
   delete handler_file;
   hash_free(&share->name_hash);
+  if (share->ha_data_destroy)
+  {
+    share->ha_data_destroy(share->ha_data);
+    share->ha_data_destroy= NULL;
+  }
 
   open_table_error(share, error, share->open_errno, errarg);
   DBUG_RETURN(error);

=== modified file 'sql/table.h'
--- a/sql/table.h	2010-08-02 07:50:15 +0000
+++ b/sql/table.h	2010-10-01 11:39:04 +0000
@@ -463,6 +463,7 @@ typedef struct st_table_share
 
   /** place to store storage engine specific data */
   void *ha_data;
+  void (*ha_data_destroy)(void *); /* An optional destructor for ha_data. */
 
 
   /*

=== modified file 'storage/innobase/btr/btr0btr.c'
--- a/storage/innobase/btr/btr0btr.c	2009-11-19 13:12:22 +0000
+++ b/storage/innobase/btr/btr0btr.c	2010-09-13 13:39:40 +0000
@@ -2060,7 +2060,6 @@ btr_compress(
 	ulint		n_recs;
 	ulint		max_ins_size;
 	ulint		max_ins_size_reorg;
-	ulint		level;
 	ulint		comp;
 
 	page = btr_cur_get_page(cursor);
@@ -2072,7 +2071,6 @@ btr_compress(
 				MTR_MEMO_X_LOCK));
 	ut_ad(mtr_memo_contains(mtr, buf_block_align(page),
 				MTR_MEMO_PAGE_X_FIX));
-	level = btr_page_get_level(page, mtr);
 	space = dict_index_get_space(index);
 
 	left_page_no = btr_page_get_prev(page, mtr);

=== modified file 'storage/innobase/btr/btr0cur.c'
--- a/storage/innobase/btr/btr0cur.c	2009-06-17 07:01:37 +0000
+++ b/storage/innobase/btr/btr0cur.c	2010-09-14 08:37:21 +0000
@@ -3365,7 +3365,9 @@ btr_store_big_rec_extern_fields(
 	page_t*	page;
 	ulint	space_id;
 	page_t*	prev_page;
+#ifdef UNIV_SYNC_DEBUG
 	page_t*	rec_page;
+#endif /* UNIV_SYNC_DEBUG */
 	ulint	prev_page_no;
 	ulint	hint_page_no;
 	ulint	i;
@@ -3460,9 +3462,12 @@ btr_store_big_rec_extern_fields(
 
 			extern_len -= store_len;
 
-			rec_page = buf_page_get(space_id,
-						buf_frame_get_page_no(data),
-						RW_X_LATCH, &mtr);
+#ifdef UNIV_SYNC_DEBUG
+			rec_page =
+#endif /* UNIV_SYNC_DEBUG */
+			buf_page_get(space_id,
+				     buf_frame_get_page_no(data),
+				     RW_X_LATCH, &mtr);
 #ifdef UNIV_SYNC_DEBUG
 			buf_page_dbg_add_level(rec_page, SYNC_NO_ORDER_CHECK);
 #endif /* UNIV_SYNC_DEBUG */
@@ -3536,10 +3541,11 @@ btr_free_externally_stored_field(
 					X-latch to the index tree */
 {
 	page_t*	page;
+#ifdef UNIV_SYNC_DEBUG
 	page_t*	rec_page;
+#endif /* UNIV_SYNC_DEBUG */
 	ulint	space_id;
 	ulint	page_no;
-	ulint	offset;
 	ulint	extern_len;
 	ulint	next_page_no;
 	ulint	part_len;
@@ -3556,9 +3562,12 @@ btr_free_externally_stored_field(
 	for (;;) {
 		mtr_start(&mtr);
 
-		rec_page = buf_page_get(buf_frame_get_space_id(data),
-					buf_frame_get_page_no(data),
-					RW_X_LATCH, &mtr);
+#ifdef UNIV_SYNC_DEBUG
+		rec_page =
+#endif /* UNIV_SYNC_DEBUG */
+		buf_page_get(buf_frame_get_space_id(data),
+			     buf_frame_get_page_no(data),
+			     RW_X_LATCH, &mtr);
 #ifdef UNIV_SYNC_DEBUG
 		buf_page_dbg_add_level(rec_page, SYNC_NO_ORDER_CHECK);
 #endif /* UNIV_SYNC_DEBUG */
@@ -3568,8 +3577,6 @@ btr_free_externally_stored_field(
 		page_no = mach_read_from_4(data + local_len
 					   + BTR_EXTERN_PAGE_NO);
 
-		offset = mach_read_from_4(data + local_len
-					  + BTR_EXTERN_OFFSET);
 		extern_len = mach_read_from_4(data + local_len
 					      + BTR_EXTERN_LEN + 4);
 

=== modified file 'storage/innobase/btr/btr0pcur.c'
--- a/storage/innobase/btr/btr0pcur.c	2006-09-19 07:22:21 +0000
+++ b/storage/innobase/btr/btr0pcur.c	2010-09-14 08:38:59 +0000
@@ -429,7 +429,6 @@ btr_pcur_move_backward_from_page(
 	mtr_t*		mtr)	/* in: mtr */
 {
 	ulint	prev_page_no;
-	ulint	space;
 	page_t*	page;
 	page_t*	prev_page;
 	ulint	latch_mode;
@@ -465,7 +464,6 @@ btr_pcur_move_backward_from_page(
 	page = btr_pcur_get_page(cursor);
 
 	prev_page_no = btr_page_get_prev(page, mtr);
-	space = buf_frame_get_space_id(page);
 
 	if (btr_pcur_is_before_first_on_page(cursor, mtr)
 	    && (prev_page_no != FIL_NULL)) {

=== modified file 'storage/innobase/btr/btr0sea.c'
--- a/storage/innobase/btr/btr0sea.c	2009-01-23 13:43:51 +0000
+++ b/storage/innobase/btr/btr0sea.c	2010-09-14 08:39:34 +0000
@@ -1401,7 +1401,6 @@ btr_search_update_hash_on_delete(
 	rec_t*		rec;
 	ulint		fold;
 	dulint		index_id;
-	ibool		found;
 	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
 	mem_heap_t*	heap		= NULL;
 	*offsets_ = (sizeof offsets_) / sizeof *offsets_;
@@ -1433,7 +1432,7 @@ btr_search_update_hash_on_delete(
 	}
 	rw_lock_x_lock(&btr_search_latch);
 
-	found = ha_search_and_delete_if_found(table, fold, rec);
+	ha_search_and_delete_if_found(table, fold, rec);
 
 	rw_lock_x_unlock(&btr_search_latch);
 }

=== modified file 'storage/innobase/buf/buf0flu.c'
--- a/storage/innobase/buf/buf0flu.c	2010-05-04 12:55:10 +0000
+++ b/storage/innobase/buf/buf0flu.c	2010-09-14 09:00:58 +0000
@@ -841,7 +841,6 @@ buf_flush_batch(
 {
 	buf_block_t*	block;
 	ulint		page_count	= 0;
-	ulint		old_page_count;
 	ulint		space;
 	ulint		offset;
 	ibool		found;
@@ -913,15 +912,9 @@ buf_flush_batch(
 				mutex_exit(&block->mutex);
 				mutex_exit(&(buf_pool->mutex));
 
-				old_page_count = page_count;
-
 				/* Try to flush also all the neighbors */
 				page_count += buf_flush_try_neighbors(
 					space, offset, flush_type);
-				/* fprintf(stderr,
-				"Flush type %lu, page no %lu, neighb %lu\n",
-				flush_type, offset,
-				page_count - old_page_count); */
 
 				mutex_enter(&(buf_pool->mutex));
 

=== modified file 'storage/innobase/eval/eval0eval.c'
--- a/storage/innobase/eval/eval0eval.c	2006-09-15 07:32:15 +0000
+++ b/storage/innobase/eval/eval0eval.c	2010-09-14 09:11:00 +0000
@@ -367,18 +367,13 @@ eval_notfound(
 /*==========*/
 	func_node_t*	func_node)	/* in: function node */
 {
-	que_node_t*	arg1;
-	que_node_t*	arg2;
 	sym_node_t*	cursor;
 	sel_node_t*	sel_node;
 	ibool		ibool_val;
 
-	arg1 = func_node->args;
-	arg2 = que_node_get_next(arg1);
-
 	ut_ad(func_node->func == PARS_NOTFOUND_TOKEN);
 
-	cursor = arg1;
+	cursor = func_node->args;
 
 	ut_ad(que_node_get_type(cursor) == QUE_NODE_SYMBOL);
 

=== modified file 'storage/innobase/handler/ha_innodb.cc'
--- a/storage/innobase/handler/ha_innodb.cc	2010-08-23 10:28:54 +0000
+++ b/storage/innobase/handler/ha_innodb.cc	2010-09-14 15:25:41 +0000
@@ -5966,7 +5966,6 @@ innobase_drop_database(
 	trx_t*	parent_trx;
 	trx_t*	trx;
 	char*	ptr;
-	int	error;
 	char*	namebuf;
 	THD*	thd		= current_thd;
 
@@ -6004,7 +6003,7 @@ innobase_drop_database(
 		trx->check_foreigns = FALSE;
 	}
 
-	error = row_drop_database_for_mysql(namebuf, trx);
+	row_drop_database_for_mysql(namebuf, trx);
 	my_free(namebuf, MYF(0));
 
 	/* Flush the log to reduce probability that the .frm files and
@@ -6020,13 +6019,7 @@ innobase_drop_database(
 
 	innobase_commit_low(trx);
 	trx_free_for_mysql(trx);
-#ifdef NO_LONGER_INTERESTED_IN_DROP_DB_ERROR
-	error = convert_error_code_to_mysql(error, NULL);
-
-	return(error);
-#else
 	return;
-#endif
 }
 
 /*************************************************************************
@@ -7543,12 +7536,9 @@ innodb_show_status(
 
 	mutex_exit_noninline(&srv_monitor_file_mutex);
 
-	bool result = FALSE;
+	stat_print(thd, innobase_hton_name, (uint) strlen(innobase_hton_name),
+		   STRING_WITH_LEN(""), str, flen);
 
-	if (stat_print(thd, innobase_hton_name, (uint) strlen(innobase_hton_name),
-			STRING_WITH_LEN(""), str, flen)) {
-		result= TRUE;
-	}
 	my_free(str, MYF(0));
 
 	DBUG_RETURN(FALSE);

=== modified file 'storage/innobase/include/ut0rnd.ic'
--- a/storage/innobase/include/ut0rnd.ic	2006-08-29 08:27:56 +0000
+++ b/storage/innobase/include/ut0rnd.ic	2010-09-13 13:33:25 +0000
@@ -67,9 +67,6 @@ ut_rnd_gen_ulint(void)
 			/* out: the 'random' number */
 {
 	ulint	rnd;
-	ulint	n_bits;
-
-	n_bits = 8 * sizeof(ulint);
 
 	ut_rnd_ulint_counter = UT_RND1 * ut_rnd_ulint_counter + UT_RND2;
 

=== modified file 'storage/innobase/lock/lock0lock.c'
--- a/storage/innobase/lock/lock0lock.c	2010-06-02 10:26:37 +0000
+++ b/storage/innobase/lock/lock0lock.c	2010-09-14 09:37:03 +0000
@@ -4296,7 +4296,6 @@ lock_print_info_all_transactions(
 	lock_t*	lock;
 	ulint	space;
 	ulint	page_no;
-	page_t*	page;
 	ibool	load_page_first = TRUE;
 	ulint	nth_trx		= 0;
 	ulint	nth_lock	= 0;
@@ -4410,8 +4409,7 @@ loop:
 
 			mtr_start(&mtr);
 
-			page = buf_page_get_with_no_latch(
-				space, page_no, &mtr);
+			buf_page_get_with_no_latch(space, page_no, &mtr);
 
 			mtr_commit(&mtr);
 

=== modified file 'storage/innobase/log/log0recv.c'
--- a/storage/innobase/log/log0recv.c	2010-04-29 13:41:47 +0000
+++ b/storage/innobase/log/log0recv.c	2010-09-14 09:46:23 +0000
@@ -400,10 +400,8 @@ recv_synchronize_groups(
 	dulint		start_lsn;
 	dulint		end_lsn;
 	dulint		recovered_lsn;
-	dulint		limit_lsn;
 
 	recovered_lsn = recv_sys->recovered_lsn;
-	limit_lsn = recv_sys->limit_lsn;
 
 	/* Read the last recovered log block to the recovery system buffer:
 	the block is always incomplete */
@@ -2506,7 +2504,9 @@ recv_recovery_from_checkpoint_start(
 	dulint		old_scanned_lsn;
 	dulint		group_scanned_lsn;
 	dulint		contiguous_lsn;
+#ifdef UNIV_LOG_ARCHIVE
 	dulint		archived_lsn;
+#endif /* UNIV_LOG_ARCHIVE */
 	ulint		capacity;
 	byte*		buf;
 	byte		log_hdr_buf[LOG_FILE_HDR_SIZE];
@@ -2552,7 +2552,9 @@ recv_recovery_from_checkpoint_start(
 
 	checkpoint_lsn = mach_read_from_8(buf + LOG_CHECKPOINT_LSN);
 	checkpoint_no = mach_read_from_8(buf + LOG_CHECKPOINT_NO);
+#ifdef UNIV_LOG_ARCHIVE
 	archived_lsn = mach_read_from_8(buf + LOG_CHECKPOINT_ARCHIVED_LSN);
+#endif /* UNIV_LOG_ARCHIVE */
 
 	/* Read the first log file header to print a note if this is
 	a recovery from a restored InnoDB Hot Backup */

=== modified file 'storage/innobase/os/os0file.c'
--- a/storage/innobase/os/os0file.c	2010-07-02 18:30:47 +0000
+++ b/storage/innobase/os/os0file.c	2010-09-14 10:01:25 +0000
@@ -1314,8 +1314,6 @@ try_again:
 	int		create_flag;
 	ibool		retry;
 	const char*	mode_str	= NULL;
-	const char*	type_str	= NULL;
-	const char*	purpose_str	= NULL;
 
 try_again:
 	ut_a(name);
@@ -1335,26 +1333,9 @@ try_again:
 		ut_error;
 	}
 
-	if (type == OS_LOG_FILE) {
-		type_str = "LOG";
-	} else if (type == OS_DATA_FILE) {
-		type_str = "DATA";
-	} else {
-		ut_error;
-	}
+	ut_a(type == OS_LOG_FILE || type == OS_DATA_FILE);
+	ut_a(purpose == OS_FILE_AIO || purpose == OS_FILE_NORMAL);
 
-	if (purpose == OS_FILE_AIO) {
-		purpose_str = "AIO";
-	} else if (purpose == OS_FILE_NORMAL) {
-		purpose_str = "NORMAL";
-	} else {
-		ut_error;
-	}
-
-#if 0
-	fprintf(stderr, "Opening file %s, mode %s, type %s, purpose %s\n",
-		name, mode_str, type_str, purpose_str);
-#endif
 #ifdef O_SYNC
 	/* We let O_SYNC only affect log files; note that we map O_DSYNC to
 	O_SYNC because the datasync options seemed to corrupt files in 2001

=== modified file 'storage/innobase/que/que0que.c'
--- a/storage/innobase/que/que0que.c	2007-01-18 21:27:31 +0000
+++ b/storage/innobase/que/que0que.c	2010-09-14 10:39:52 +0000
@@ -802,13 +802,11 @@ que_thr_dec_refer_count(
 {
 	que_fork_t*	fork;
 	trx_t*		trx;
-	sess_t*		sess;
 	ulint		fork_type;
 	ibool		stopped;
 
 	fork = thr->common.parent;
 	trx = thr_get_trx(thr);
-	sess = trx->sess;
 
 	mutex_enter(&kernel_mutex);
 
@@ -1292,18 +1290,13 @@ que_run_threads_low(
 	que_thr_t*	thr)	/* in: query thread */
 {
 	que_thr_t*	next_thr;
-	ulint		cumul_resource;
 	ulint		loop_count;
 
 	ut_ad(thr->state == QUE_THR_RUNNING);
 	ut_a(thr_get_trx(thr)->error_state == DB_SUCCESS);
 	ut_ad(!mutex_own(&kernel_mutex));
 
-	/* cumul_resource counts how much resources the OS thread (NOT the
-	query thread) has spent in this function */
-
 	loop_count = QUE_MAX_LOOPS_WITHOUT_CHECK;
-	cumul_resource = 0;
 loop:
 	/* Check that there is enough space in the log to accommodate
 	possible log entries by this query step; if the operation can touch

=== modified file 'storage/innobase/row/row0mysql.c'
--- a/storage/innobase/row/row0mysql.c	2010-06-02 10:26:37 +0000
+++ b/storage/innobase/row/row0mysql.c	2010-09-30 12:48:44 +0000
@@ -1447,7 +1447,12 @@ run_again:
 		srv_n_rows_updated++;
 	}
 
-	row_update_statistics_if_needed(prebuilt->table);
+	/* We update table statistics only if it is a DELETE or UPDATE
+	that changes indexed columns, UPDATEs that change only non-indexed
+	columns would not affect statistics. */
+	if (node->is_delete || !(node->cmpl_info & UPD_NODE_NO_ORD_CHANGE)) {
+		row_update_statistics_if_needed(prebuilt->table);
+	}
 
 	trx->op_info = "";
 

=== modified file 'storage/innobase/row/row0purge.c'
--- a/storage/innobase/row/row0purge.c	2006-09-26 11:37:58 +0000
+++ b/storage/innobase/row/row0purge.c	2010-09-14 10:56:29 +0000
@@ -667,7 +667,7 @@ row_purge_step(
 
 	err = row_purge(node, thr);
 
-	ut_ad(err == DB_SUCCESS);
+	ut_a(err == DB_SUCCESS);
 
 	return(thr);
 }

=== modified file 'storage/innobase/row/row0umod.c'
--- a/storage/innobase/row/row0umod.c	2006-09-19 07:22:21 +0000
+++ b/storage/innobase/row/row0umod.c	2010-09-14 11:09:36 +0000
@@ -89,12 +89,17 @@ row_undo_mod_clust_low(
 	btr_pcur_t*	pcur;
 	btr_cur_t*	btr_cur;
 	ulint		err;
+#ifdef UNIV_DEBUG
 	ibool		success;
+#endif /* UNIV_DEBUG */
 
 	pcur = &(node->pcur);
 	btr_cur = btr_pcur_get_btr_cur(pcur);
 
-	success = btr_pcur_restore_position(mode, pcur, mtr);
+#ifdef UNIV_DEBUG
+	success =
+#endif /* UNIV_DEBUG */
+	btr_pcur_restore_position(mode, pcur, mtr);
 
 	ut_ad(success);
 

=== modified file 'storage/innobase/row/row0upd.c'
--- a/storage/innobase/row/row0upd.c	2006-12-12 09:37:18 +0000
+++ b/storage/innobase/row/row0upd.c	2010-09-14 11:46:13 +0000
@@ -2037,7 +2037,9 @@ row_upd_in_place_in_select(
 	upd_node_t*	node;
 	btr_pcur_t*	pcur;
 	btr_cur_t*	btr_cur;
+#ifdef UNIV_DEBUG
 	ulint		err;
+#endif /* UNIV_DEBUG */
 	mem_heap_t*	heap		= NULL;
 	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
 	*offsets_ = (sizeof offsets_) / sizeof *offsets_;
@@ -2074,8 +2076,11 @@ row_upd_in_place_in_select(
 	ut_ad(node->cmpl_info & UPD_NODE_NO_ORD_CHANGE);
 	ut_ad(node->select_will_do_update);
 
-	err = btr_cur_update_in_place(BTR_NO_LOCKING_FLAG, btr_cur,
-				      node->update, node->cmpl_info,
-				      thr, mtr);
+#ifdef UNIV_DEBUG
+	err =
+#endif /* UNIV_DEBUG */
+	btr_cur_update_in_place(BTR_NO_LOCKING_FLAG, btr_cur,
+				node->update, node->cmpl_info,
+				thr, mtr);
 	ut_ad(err == DB_SUCCESS);
 }

=== modified file 'storage/innobase/row/row0vers.c'
--- a/storage/innobase/row/row0vers.c	2007-01-18 21:27:31 +0000
+++ b/storage/innobase/row/row0vers.c	2010-09-14 11:50:13 +0000
@@ -59,7 +59,9 @@ row_vers_impl_x_locked_off_kernel(
 	trx_t*		trx;
 	ulint		vers_del;
 	ulint		rec_del;
+#ifdef UNIV_DEBUG
 	ulint		err;
+#endif /* UNIV_DEBUG */
 	mtr_t		mtr;
 	ulint		comp;
 
@@ -152,9 +154,12 @@ row_vers_impl_x_locked_off_kernel(
 
 		heap2 = heap;
 		heap = mem_heap_create(1024);
-		err = trx_undo_prev_version_build(clust_rec, &mtr, version,
-						  clust_index, clust_offsets,
-						  heap, &prev_version);
+#ifdef UNIV_DEBUG
+		err =
+#endif /* UNIV_DEBUG */
+		trx_undo_prev_version_build(clust_rec, &mtr, version,
+					    clust_index, clust_offsets,
+					    heap, &prev_version);
 		mem_heap_free(heap2); /* free version and clust_offsets */
 
 		if (prev_version) {

=== modified file 'storage/innobase/trx/trx0purge.c'
--- a/storage/innobase/trx/trx0purge.c	2009-06-24 18:26:34 +0000
+++ b/storage/innobase/trx/trx0purge.c	2010-09-14 12:19:04 +0000
@@ -249,9 +249,10 @@ trx_purge_add_update_undo_to_history(
 	trx_undo_t*	undo;
 	trx_rseg_t*	rseg;
 	trx_rsegf_t*	rseg_header;
+#ifdef UNIV_DEBUG
 	trx_usegf_t*	seg_header;
+#endif /* UNIV_DEBUG */
 	trx_ulogf_t*	undo_header;
-	trx_upagef_t*	page_header;
 	ulint		hist_size;
 
 	undo = trx->update_undo;
@@ -265,8 +266,9 @@ trx_purge_add_update_undo_to_history(
 	rseg_header = trx_rsegf_get(rseg->space, rseg->page_no, mtr);
 
 	undo_header = undo_page + undo->hdr_offset;
+#ifdef UNIV_DEBUG
 	seg_header  = undo_page + TRX_UNDO_SEG_HDR;
-	page_header = undo_page + TRX_UNDO_PAGE_HDR;
+#endif /* UNIV_DEBUG */
 
 	if (undo->state != TRX_UNDO_CACHED) {
 		/* The undo log segment will not be reused */
@@ -594,7 +596,6 @@ trx_purge_rseg_get_next_history_log(
 {
 	page_t*		undo_page;
 	trx_ulogf_t*	log_hdr;
-	trx_usegf_t*	seg_hdr;
 	fil_addr_t	prev_log_addr;
 	dulint		trx_no;
 	ibool		del_marks;
@@ -615,7 +616,6 @@ trx_purge_rseg_get_next_history_log(
 	undo_page = trx_undo_page_get_s_latched(rseg->space,
 						rseg->last_page_no, &mtr);
 	log_hdr = undo_page + rseg->last_offset;
-	seg_hdr = undo_page + TRX_UNDO_SEG_HDR;
 
 	/* Increase the purge page count by one for every handled log */
 
@@ -1004,12 +1004,8 @@ trx_purge_rec_release(
 /*==================*/
 	trx_undo_inf_t*	cell)	/* in: storage cell */
 {
-	trx_undo_arr_t*	arr;
-
 	mutex_enter(&(purge_sys->mutex));
 
-	arr = purge_sys->arr;
-
 	trx_purge_arr_remove_info(cell);
 
 	mutex_exit(&(purge_sys->mutex));

=== modified file 'storage/innobase/trx/trx0roll.c'
--- a/storage/innobase/trx/trx0roll.c	2009-01-13 12:15:24 +0000
+++ b/storage/innobase/trx/trx0roll.c	2010-09-14 12:21:32 +0000
@@ -713,13 +713,8 @@ trx_undo_arr_remove_info(
 	dulint		undo_no)/* in: undo number */
 {
 	trx_undo_inf_t*	cell;
-	ulint		n_used;
-	ulint		n;
 	ulint		i;
 
-	n_used = arr->n_used;
-	n = 0;
-
 	for (i = 0;; i++) {
 		cell = trx_undo_arr_get_nth_info(arr, i);
 

=== modified file 'storage/innobase/trx/trx0sys.c'
--- a/storage/innobase/trx/trx0sys.c	2010-03-03 21:56:10 +0000
+++ b/storage/innobase/trx/trx0sys.c	2010-09-14 12:28:48 +0000
@@ -165,7 +165,9 @@ trx_sys_create_doublewrite_buf(void)
 {
 	page_t*	page;
 	page_t*	page2;
+#ifdef UNIV_SYNC_DEBUG
 	page_t*	new_page;
+#endif /* UNIV_SYNC_DEBUG */
 	byte*	doublewrite;
 	byte*	fseg_header;
 	ulint	page_no;
@@ -271,8 +273,11 @@ start_again:
 			the page position in the tablespace, then the page
 			has not been written to in doublewrite. */
 
-			new_page = buf_page_get(TRX_SYS_SPACE, page_no,
-						RW_X_LATCH, &mtr);
+#ifdef UNIV_SYNC_DEBUG
+			new_page =
+#endif /* UNIV_SYNC_DEBUG */
+			buf_page_get(TRX_SYS_SPACE, page_no,
+				     RW_X_LATCH, &mtr);
 #ifdef UNIV_SYNC_DEBUG
 			buf_page_dbg_add_level(new_page, SYNC_NO_ORDER_CHECK);
 #endif /* UNIV_SYNC_DEBUG */

=== modified file 'storage/innobase/trx/trx0trx.c'
--- a/storage/innobase/trx/trx0trx.c	2010-05-14 13:02:28 +0000
+++ b/storage/innobase/trx/trx0trx.c	2010-09-14 12:30:26 +0000
@@ -1827,7 +1827,6 @@ trx_prepare_off_kernel(
 /*===================*/
 	trx_t*	trx)	/* in: transaction */
 {
-	page_t*		update_hdr_page;
 	trx_rseg_t*	rseg;
 	ibool		must_flush_log	= FALSE;
 	dulint		lsn;
@@ -1863,7 +1862,7 @@ trx_prepare_off_kernel(
 		}
 
 		if (trx->update_undo) {
-			update_hdr_page = trx_undo_set_state_at_prepare(
+			trx_undo_set_state_at_prepare(
 				trx, trx->update_undo, &mtr);
 		}
 

=== modified file 'storage/innobase/trx/trx0undo.c'
--- a/storage/innobase/trx/trx0undo.c	2009-06-24 18:26:34 +0000
+++ b/storage/innobase/trx/trx0undo.c	2010-09-14 14:55:44 +0000
@@ -1012,14 +1012,11 @@ trx_undo_truncate_end(
 	ulint		last_page_no;
 	trx_undo_rec_t* rec;
 	trx_undo_rec_t* trunc_here;
-	trx_rseg_t*	rseg;
 	mtr_t		mtr;
 
 	ut_ad(mutex_own(&(trx->undo_mutex)));
 	ut_ad(mutex_own(&(trx->rseg->mutex)));
 
-	rseg = trx->rseg;
-
 	for (;;) {
 		mtr_start(&mtr);
 
@@ -1798,7 +1795,6 @@ trx_undo_set_state_at_prepare(
 	mtr_t*		mtr)	/* in: mtr */
 {
 	trx_usegf_t*	seg_hdr;
-	trx_upagef_t*	page_hdr;
 	trx_ulogf_t*	undo_header;
 	page_t*		undo_page;
 	ulint		offset;
@@ -1815,7 +1811,6 @@ trx_undo_set_state_at_prepare(
 	undo_page = trx_undo_page_get(undo->space, undo->hdr_page_no, mtr);
 
 	seg_hdr = undo_page + TRX_UNDO_SEG_HDR;
-	page_hdr = undo_page + TRX_UNDO_PAGE_HDR;
 
 	/*------------------------------*/
 	undo->state = TRX_UNDO_PREPARED;

=== modified file 'storage/innodb_plugin/ChangeLog'
--- a/storage/innodb_plugin/ChangeLog	2010-08-24 08:10:03 +0000
+++ b/storage/innodb_plugin/ChangeLog	2010-09-07 05:41:37 +0000
@@ -1,3 +1,7 @@
+2010-09-06	The InnoDB Team
+	* dict/dict0load.c, innodb_bug53756.test innodb_bug53756.result
+	Fix Bug #53756 	ALTER TABLE ADD PRIMARY KEY affects crash recovery
+
 2010-08-24	The InnoDB Team
 
 	* handler/ha_innodb.c, dict/dict0dict.c:

=== modified file 'storage/innodb_plugin/btr/btr0btr.c'
--- a/storage/innodb_plugin/btr/btr0btr.c	2010-05-11 10:49:10 +0000
+++ b/storage/innodb_plugin/btr/btr0btr.c	2010-09-14 18:14:42 +0000
@@ -1895,7 +1895,6 @@ btr_page_split_and_insert(
 	buf_block_t*	left_block;
 	buf_block_t*	right_block;
 	buf_block_t*	insert_block;
-	page_t*		insert_page;
 	page_cur_t*	page_cursor;
 	rec_t*		first_rec;
 	byte*		buf = 0; /* remove warning */
@@ -2153,8 +2152,6 @@ insert_empty:
 		insert_block = right_block;
 	}
 
-	insert_page = buf_block_get_frame(insert_block);
-
 	/* 7. Reposition the cursor for insert and try insertion */
 	page_cursor = btr_cur_get_page_cur(cursor);
 
@@ -2166,8 +2163,12 @@ insert_empty:
 
 #ifdef UNIV_ZIP_DEBUG
 	{
+		page_t*		insert_page
+			= buf_block_get_frame(insert_block);
+
 		page_zip_des_t*	insert_page_zip
 			= buf_block_get_page_zip(insert_block);
+
 		ut_a(!insert_page_zip
 		     || page_zip_validate(insert_page_zip, insert_page));
 	}
@@ -2560,7 +2561,6 @@ btr_compress(
 	ulint		n_recs;
 	ulint		max_ins_size;
 	ulint		max_ins_size_reorg;
-	ulint		level;
 
 	block = btr_cur_get_block(cursor);
 	page = btr_cur_get_page(cursor);
@@ -2570,7 +2570,6 @@ btr_compress(
 	ut_ad(mtr_memo_contains(mtr, dict_index_get_lock(index),
 				MTR_MEMO_X_LOCK));
 	ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX));
-	level = btr_page_get_level(page, mtr);
 	space = dict_index_get_space(index);
 	zip_size = dict_table_zip_size(index->table);
 

=== modified file 'storage/innodb_plugin/btr/btr0cur.c'
--- a/storage/innodb_plugin/btr/btr0cur.c	2010-06-30 09:31:49 +0000
+++ b/storage/innodb_plugin/btr/btr0cur.c	2010-09-14 18:33:02 +0000
@@ -1836,7 +1836,6 @@ btr_cur_optimistic_update(
 	page_t*		page;
 	page_zip_des_t*	page_zip;
 	rec_t*		rec;
-	rec_t*		orig_rec;
 	ulint		max_size;
 	ulint		new_rec_size;
 	ulint		old_rec_size;
@@ -1850,7 +1849,7 @@ btr_cur_optimistic_update(
 
 	block = btr_cur_get_block(cursor);
 	page = buf_block_get_frame(block);
-	orig_rec = rec = btr_cur_get_rec(cursor);
+	rec = btr_cur_get_rec(cursor);
 	index = cursor->index;
 	ut_ad(!!page_rec_is_comp(rec) == dict_table_is_comp(index->table));
 	ut_ad(mtr_memo_contains(mtr, block, MTR_MEMO_PAGE_X_FIX));
@@ -4279,12 +4278,17 @@ btr_free_externally_stored_field(
 	}
 
 	for (;;) {
+#ifdef UNIV_SYNC_DEBUG
 		buf_block_t*	rec_block;
+#endif /* UNIV_SYNC_DEBUG */
 		buf_block_t*	ext_block;
 
 		mtr_start(&mtr);
 
-		rec_block = buf_page_get(page_get_space_id(
+#ifdef UNIV_SYNC_DEBUG
+		rec_block =
+#endif /* UNIV_SYNC_DEBUG */
+			buf_page_get(page_get_space_id(
 						 page_align(field_ref)),
 					 rec_zip_size,
 					 page_get_page_no(

=== modified file 'storage/innodb_plugin/btr/btr0pcur.c'
--- a/storage/innodb_plugin/btr/btr0pcur.c	2010-03-11 10:02:57 +0000
+++ b/storage/innodb_plugin/btr/btr0pcur.c	2010-09-14 18:35:37 +0000
@@ -452,7 +452,6 @@ btr_pcur_move_backward_from_page(
 	mtr_t*		mtr)	/*!< in: mtr */
 {
 	ulint		prev_page_no;
-	ulint		space;
 	page_t*		page;
 	buf_block_t*	prev_block;
 	ulint		latch_mode;
@@ -488,7 +487,6 @@ btr_pcur_move_backward_from_page(
 	page = btr_pcur_get_page(cursor);
 
 	prev_page_no = btr_page_get_prev(page, mtr);
-	space = buf_block_get_space(btr_pcur_get_block(cursor));
 
 	if (prev_page_no == FIL_NULL) {
 	} else if (btr_pcur_is_before_first_on_page(cursor)) {

=== modified file 'storage/innodb_plugin/btr/btr0sea.c'
--- a/storage/innodb_plugin/btr/btr0sea.c	2010-08-05 15:34:44 +0000
+++ b/storage/innodb_plugin/btr/btr0sea.c	2010-09-14 18:36:29 +0000
@@ -1495,7 +1495,6 @@ btr_search_update_hash_on_delete(
 	rec_t*		rec;
 	ulint		fold;
 	dulint		index_id;
-	ibool		found;
 	ulint		offsets_[REC_OFFS_NORMAL_SIZE];
 	mem_heap_t*	heap		= NULL;
 	rec_offs_init(offsets_);
@@ -1528,7 +1527,7 @@ btr_search_update_hash_on_delete(
 	}
 	rw_lock_x_lock(&btr_search_latch);
 
-	found = ha_search_and_delete_if_found(table, fold, rec);
+	ha_search_and_delete_if_found(table, fold, rec);
 
 	rw_lock_x_unlock(&btr_search_latch);
 }

=== modified file 'storage/innodb_plugin/buf/buf0flu.c'
--- a/storage/innodb_plugin/buf/buf0flu.c	2010-05-04 12:47:44 +0000
+++ b/storage/innodb_plugin/buf/buf0flu.c	2010-09-15 08:30:57 +0000
@@ -128,10 +128,15 @@ buf_flush_delete_from_flush_rbt(
 	buf_page_t*	bpage)		/*!< in: bpage to be removed. */
 {
 
+#ifdef UNIV_DEBUG
 	ibool	ret = FALSE;
+#endif /* UNIV_DEBUG */
 
 	ut_ad(buf_pool_mutex_own());
-	ret = rbt_delete(buf_pool->flush_rbt, &bpage);
+#ifdef UNIV_DEBUG
+	ret =
+#endif /* UNIV_DEBUG */
+	rbt_delete(buf_pool->flush_rbt, &bpage);
 	ut_ad(ret);
 }
 
@@ -1266,7 +1271,6 @@ buf_flush_batch(
 {
 	buf_page_t*	bpage;
 	ulint		page_count	= 0;
-	ulint		old_page_count;
 	ulint		space;
 	ulint		offset;
 
@@ -1338,15 +1342,9 @@ flush_next:
 
 				buf_pool_mutex_exit();
 
-				old_page_count = page_count;
-
 				/* Try to flush also all the neighbors */
 				page_count += buf_flush_try_neighbors(
 					space, offset, flush_type);
-				/* fprintf(stderr,
-				"Flush type %lu, page no %lu, neighb %lu\n",
-				flush_type, offset,
-				page_count - old_page_count); */
 
 				buf_pool_mutex_enter();
 				goto flush_next;

=== modified file 'storage/innodb_plugin/dict/dict0crea.c'
--- a/storage/innodb_plugin/dict/dict0crea.c	2010-07-21 15:51:36 +0000
+++ b/storage/innodb_plugin/dict/dict0crea.c	2010-09-28 06:38:33 +0000
@@ -627,7 +627,6 @@ dict_create_index_tree_step(
 {
 	dict_index_t*	index;
 	dict_table_t*	sys_indexes;
-	dict_table_t*	table;
 	dtuple_t*	search_tuple;
 	ulint		zip_size;
 	btr_pcur_t	pcur;
@@ -636,7 +635,6 @@ dict_create_index_tree_step(
 	ut_ad(mutex_own(&(dict_sys->mutex)));
 
 	index = node->index;
-	table = node->table;
 
 	sys_indexes = dict_sys->sys_indexes;
 

=== modified file 'storage/innodb_plugin/dict/dict0dict.c'
--- a/storage/innodb_plugin/dict/dict0dict.c	2010-08-24 08:10:03 +0000
+++ b/storage/innodb_plugin/dict/dict0dict.c	2010-09-15 15:00:49 +0000
@@ -4441,7 +4441,6 @@ dict_index_print_low(
 {
 	ib_int64_t	n_vals;
 	ulint		i;
-	const char*	type_string;
 
 	ut_ad(mutex_own(&(dict_sys->mutex)));
 
@@ -4456,14 +4455,6 @@ dict_index_print_low(
 
 	dict_index_stat_mutex_exit(index);
 
-	if (dict_index_is_clust(index)) {
-		type_string = "clustered index";
-	} else if (dict_index_is_unique(index)) {
-		type_string = "unique index";
-	} else {
-		type_string = "secondary index";
-	}
-
 	fprintf(stderr,
 		"  INDEX: name %s, id %lu %lu, fields %lu/%lu,"
 		" uniq %lu, type %lu\n"

=== modified file 'storage/innodb_plugin/dict/dict0load.c'
--- a/storage/innodb_plugin/dict/dict0load.c	2010-06-21 09:40:08 +0000
+++ b/storage/innodb_plugin/dict/dict0load.c	2010-09-07 05:41:37 +0000
@@ -1072,6 +1072,8 @@ dict_load_table_on_id(
 
 	ut_ad(mutex_own(&(dict_sys->mutex)));
 
+	table = NULL;
+
 	/* NOTE that the operation of this function is protected by
 	the dictionary mutex, and therefore no deadlocks can occur
 	with other dictionary operations. */
@@ -1098,15 +1100,17 @@ dict_load_table_on_id(
 				  BTR_SEARCH_LEAF, &pcur, &mtr);
 	rec = btr_pcur_get_rec(&pcur);
 
-	if (!btr_pcur_is_on_user_rec(&pcur)
-	    || rec_get_deleted_flag(rec, 0)) {
+	if (!btr_pcur_is_on_user_rec(&pcur)) {
 		/* Not found */
+		goto func_exit;
+	}
 
-		btr_pcur_close(&pcur);
-		mtr_commit(&mtr);
-		mem_heap_free(heap);
-
-		return(NULL);
+	/* Find the first record that is not delete marked */
+	while (rec_get_deleted_flag(rec, 0)) {
+		if (!btr_pcur_move_to_next_user_rec(&pcur, &mtr)) {
+			goto func_exit;
+		}
+		rec = btr_pcur_get_rec(&pcur);
 	}
 
 	/*---------------------------------------------------*/
@@ -1119,19 +1123,14 @@ dict_load_table_on_id(
 
 	/* Check if the table id in record is the one searched for */
 	if (ut_dulint_cmp(table_id, mach_read_from_8(field)) != 0) {
-
-		btr_pcur_close(&pcur);
-		mtr_commit(&mtr);
-		mem_heap_free(heap);
-
-		return(NULL);
+		goto func_exit;
 	}
 
 	/* Now we get the table name from the record */
 	field = rec_get_nth_field_old(rec, 1, &len);
 	/* Load the table definition to memory */
 	table = dict_load_table(mem_heap_strdupl(heap, (char*) field, len));
-
+func_exit:
 	btr_pcur_close(&pcur);
 	mtr_commit(&mtr);
 	mem_heap_free(heap);

=== modified file 'storage/innodb_plugin/eval/eval0eval.c'
--- a/storage/innodb_plugin/eval/eval0eval.c	2009-05-26 12:28:49 +0000
+++ b/storage/innodb_plugin/eval/eval0eval.c	2010-09-15 15:03:24 +0000
@@ -384,18 +384,13 @@ eval_notfound(
 /*==========*/
 	func_node_t*	func_node)	/*!< in: function node */
 {
-	que_node_t*	arg1;
-	que_node_t*	arg2;
 	sym_node_t*	cursor;
 	sel_node_t*	sel_node;
 	ibool		ibool_val;
 
-	arg1 = func_node->args;
-	arg2 = que_node_get_next(arg1);
-
 	ut_ad(func_node->func == PARS_NOTFOUND_TOKEN);
 
-	cursor = arg1;
+	cursor = func_node->args;
 
 	ut_ad(que_node_get_type(cursor) == QUE_NODE_SYMBOL);
 

=== modified file 'storage/innodb_plugin/handler/ha_innodb.cc'
--- a/storage/innodb_plugin/handler/ha_innodb.cc	2010-08-24 08:10:03 +0000
+++ b/storage/innodb_plugin/handler/ha_innodb.cc	2010-09-15 15:10:10 +0000
@@ -7007,7 +7007,6 @@ innobase_drop_database(
 	ulint	len		= 0;
 	trx_t*	trx;
 	char*	ptr;
-	int	error;
 	char*	namebuf;
 	THD*	thd		= current_thd;
 
@@ -7050,7 +7049,7 @@ innobase_drop_database(
 #else
 	trx = innobase_trx_allocate(thd);
 #endif
-	error = row_drop_database_for_mysql(namebuf, trx);
+	row_drop_database_for_mysql(namebuf, trx);
 	my_free(namebuf, MYF(0));
 
 	/* Flush the log to reduce probability that the .frm files and
@@ -8848,12 +8847,9 @@ innodb_show_status(
 
 	mutex_exit(&srv_monitor_file_mutex);
 
-	bool result = FALSE;
+	stat_print(thd, innobase_hton_name, (uint) strlen(innobase_hton_name),
+		   STRING_WITH_LEN(""), str, flen);
 
-	if (stat_print(thd, innobase_hton_name, (uint) strlen(innobase_hton_name),
-			STRING_WITH_LEN(""), str, flen)) {
-		result= TRUE;
-	}
 	my_free(str, MYF(0));
 
 	DBUG_RETURN(FALSE);

=== modified file 'storage/innodb_plugin/handler/i_s.cc'
--- a/storage/innodb_plugin/handler/i_s.cc	2009-09-22 05:42:46 +0000
+++ b/storage/innodb_plugin/handler/i_s.cc	2010-09-28 08:12:34 +0000
@@ -1012,6 +1012,7 @@ trx_i_s_common_fill_table(
 	deadlock occurs between the mysqld server and mysql client,
 	see http://bugs.mysql.com/29900 ; when that bug is resolved
 	we can enable the DBUG_RETURN(ret) above */
+	ret++;  // silence a gcc46 warning
 	DBUG_RETURN(0);
 #endif
 }

=== modified file 'storage/innodb_plugin/include/os0sync.h'
--- a/storage/innodb_plugin/include/os0sync.h	2009-09-14 07:38:45 +0000
+++ b/storage/innodb_plugin/include/os0sync.h	2010-09-30 10:26:18 +0000
@@ -330,7 +330,7 @@ amount of increment. */
 Returns the old value of *ptr, atomically sets *ptr to new_val */
 
 # define os_atomic_test_and_set_byte(ptr, new_val) \
-	__sync_lock_test_and_set(ptr, new_val)
+	__sync_lock_test_and_set(ptr, (byte) new_val)
 
 #elif defined(HAVE_IB_SOLARIS_ATOMICS)
 

=== modified file 'storage/innodb_plugin/include/univ.i'
--- a/storage/innodb_plugin/include/univ.i	2010-08-26 15:06:07 +0000
+++ b/storage/innodb_plugin/include/univ.i	2010-09-28 12:31:33 +0000
@@ -46,7 +46,7 @@ Created 1/20/1994 Heikki Tuuri
 
 #define INNODB_VERSION_MAJOR	1
 #define INNODB_VERSION_MINOR	0
-#define INNODB_VERSION_BUGFIX	12
+#define INNODB_VERSION_BUGFIX	13
 
 /* The following is the InnoDB version as shown in
 SELECT plugin_version FROM information_schema.plugins;

=== modified file 'storage/innodb_plugin/include/ut0rnd.ic'
--- a/storage/innodb_plugin/include/ut0rnd.ic	2010-03-29 09:54:57 +0000
+++ b/storage/innodb_plugin/include/ut0rnd.ic	2010-09-14 17:58:02 +0000
@@ -85,9 +85,6 @@ ut_rnd_gen_ulint(void)
 /*==================*/
 {
 	ulint	rnd;
-	ulint	n_bits;
-
-	n_bits = 8 * sizeof(ulint);
 
 	ut_rnd_ulint_counter = UT_RND1 * ut_rnd_ulint_counter + UT_RND2;
 

=== modified file 'storage/innodb_plugin/log/log0recv.c'
--- a/storage/innodb_plugin/log/log0recv.c	2010-04-29 13:37:50 +0000
+++ b/storage/innodb_plugin/log/log0recv.c	2010-09-15 15:32:12 +0000
@@ -559,10 +559,8 @@ recv_synchronize_groups(
 	ib_uint64_t	start_lsn;
 	ib_uint64_t	end_lsn;
 	ib_uint64_t	recovered_lsn;
-	ib_uint64_t	limit_lsn;
 
 	recovered_lsn = recv_sys->recovered_lsn;
-	limit_lsn = recv_sys->limit_lsn;
 
 	/* Read the last recovered log block to the recovery system buffer:
 	the block is always incomplete */
@@ -2891,7 +2889,9 @@ recv_recovery_from_checkpoint_start_func
 	ib_uint64_t	old_scanned_lsn;
 	ib_uint64_t	group_scanned_lsn;
 	ib_uint64_t	contiguous_lsn;
+#ifdef UNIV_LOG_ARCHIVE
 	ib_uint64_t	archived_lsn;
+#endif /* UNIV_LOG_ARCHIVE */
 	byte*		buf;
 	byte		log_hdr_buf[LOG_FILE_HDR_SIZE];
 	ulint		err;
@@ -2946,7 +2946,9 @@ recv_recovery_from_checkpoint_start_func
 
 	checkpoint_lsn = mach_read_ull(buf + LOG_CHECKPOINT_LSN);
 	checkpoint_no = mach_read_ull(buf + LOG_CHECKPOINT_NO);
+#ifdef UNIV_LOG_ARCHIVE
 	archived_lsn = mach_read_ull(buf + LOG_CHECKPOINT_ARCHIVED_LSN);
+#endif /* UNIV_LOG_ARCHIVE */
 
 	/* Read the first log file header to print a note if this is
 	a recovery from a restored InnoDB Hot Backup */

=== modified file 'storage/innodb_plugin/os/os0file.c'
--- a/storage/innodb_plugin/os/os0file.c	2010-07-21 15:51:36 +0000
+++ b/storage/innodb_plugin/os/os0file.c	2010-09-28 06:38:33 +0000
@@ -1367,8 +1367,6 @@ try_again:
 	int		create_flag;
 	ibool		retry;
 	const char*	mode_str	= NULL;
-	const char*	type_str	= NULL;
-	const char*	purpose_str	= NULL;
 
 try_again:
 	ut_a(name);
@@ -1388,26 +1386,9 @@ try_again:
 		ut_error;
 	}
 
-	if (type == OS_LOG_FILE) {
-		type_str = "LOG";
-	} else if (type == OS_DATA_FILE) {
-		type_str = "DATA";
-	} else {
-		ut_error;
-	}
+	ut_a(type == OS_LOG_FILE || type == OS_DATA_FILE);
+	ut_a(purpose == OS_FILE_AIO || purpose == OS_FILE_NORMAL);
 
-	if (purpose == OS_FILE_AIO) {
-		purpose_str = "AIO";
-	} else if (purpose == OS_FILE_NORMAL) {
-		purpose_str = "NORMAL";
-	} else {
-		ut_error;
-	}
-
-#if 0
-	fprintf(stderr, "Opening file %s, mode %s, type %s, purpose %s\n",
-		name, mode_str, type_str, purpose_str);
-#endif
 #ifdef O_SYNC
 	/* We let O_SYNC only affect log files; note that we map O_DSYNC to
 	O_SYNC because the datasync options seemed to corrupt files in 2001

=== modified file 'storage/innodb_plugin/que/que0que.c'
--- a/storage/innodb_plugin/que/que0que.c	2009-11-02 09:42:56 +0000
+++ b/storage/innodb_plugin/que/que0que.c	2010-09-15 15:35:59 +0000
@@ -1284,18 +1284,13 @@ que_run_threads_low(
 	que_thr_t*	thr)	/*!< in: query thread */
 {
 	que_thr_t*	next_thr;
-	ulint		cumul_resource;
 	ulint		loop_count;
 
 	ut_ad(thr->state == QUE_THR_RUNNING);
 	ut_a(thr_get_trx(thr)->error_state == DB_SUCCESS);
 	ut_ad(!mutex_own(&kernel_mutex));
 
-	/* cumul_resource counts how much resources the OS thread (NOT the
-	query thread) has spent in this function */
-
 	loop_count = QUE_MAX_LOOPS_WITHOUT_CHECK;
-	cumul_resource = 0;
 loop:
 	/* Check that there is enough space in the log to accommodate
 	possible log entries by this query step; if the operation can touch

=== modified file 'storage/innodb_plugin/row/row0mysql.c'
--- a/storage/innodb_plugin/row/row0mysql.c	2010-06-02 10:37:14 +0000
+++ b/storage/innodb_plugin/row/row0mysql.c	2010-09-30 12:48:44 +0000
@@ -1422,7 +1422,12 @@ run_again:
 		srv_n_rows_updated++;
 	}
 
-	row_update_statistics_if_needed(prebuilt->table);
+	/* We update table statistics only if it is a DELETE or UPDATE
+	that changes indexed columns, UPDATEs that change only non-indexed
+	columns would not affect statistics. */
+	if (node->is_delete || !(node->cmpl_info & UPD_NODE_NO_ORD_CHANGE)) {
+		row_update_statistics_if_needed(prebuilt->table);
+	}
 
 	trx->op_info = "";
 

=== modified file 'storage/innodb_plugin/row/row0purge.c'
--- a/storage/innodb_plugin/row/row0purge.c	2010-06-10 13:58:11 +0000
+++ b/storage/innodb_plugin/row/row0purge.c	2010-09-15 15:37:24 +0000
@@ -684,7 +684,9 @@ row_purge_step(
 	que_thr_t*	thr)	/*!< in: query thread */
 {
 	purge_node_t*	node;
+#ifdef UNIV_DEBUG
 	ulint		err;
+#endif /* UNIV_DEBUG */
 
 	ut_ad(thr);
 
@@ -692,7 +694,10 @@ row_purge_step(
 
 	ut_ad(que_node_get_type(node) == QUE_NODE_PURGE);
 
-	err = row_purge(node, thr);
+#ifdef UNIV_DEBUG
+	err =
+#endif /* UNIV_DEBUG */
+	row_purge(node, thr);
 
 	ut_ad(err == DB_SUCCESS);
 

=== modified file 'storage/innodb_plugin/row/row0umod.c'
--- a/storage/innodb_plugin/row/row0umod.c	2010-06-10 13:58:11 +0000
+++ b/storage/innodb_plugin/row/row0umod.c	2010-09-15 15:41:35 +0000
@@ -114,12 +114,17 @@ row_undo_mod_clust_low(
 	btr_pcur_t*	pcur;
 	btr_cur_t*	btr_cur;
 	ulint		err;
+#ifdef UNIV_DEBUG
 	ibool		success;
+#endif /* UNIV_DEBUG */
 
 	pcur = &(node->pcur);
 	btr_cur = btr_pcur_get_btr_cur(pcur);
 
-	success = btr_pcur_restore_position(mode, pcur, mtr);
+#ifdef UNIV_DEBUG
+	success =
+#endif /* UNIV_DEBUG */
+	btr_pcur_restore_position(mode, pcur, mtr);
 
 	ut_ad(success);
 

=== modified file 'storage/innodb_plugin/row/row0vers.c'
--- a/storage/innodb_plugin/row/row0vers.c	2009-05-25 09:52:29 +0000
+++ b/storage/innodb_plugin/row/row0vers.c	2010-09-15 15:43:07 +0000
@@ -71,7 +71,9 @@ row_vers_impl_x_locked_off_kernel(
 					warning */
 	trx_t*		trx;
 	ulint		rec_del;
+#ifdef UNIV_DEBUG
 	ulint		err;
+#endif /* UNIV_DEBUG */
 	mtr_t		mtr;
 	ulint		comp;
 
@@ -169,9 +171,12 @@ row_vers_impl_x_locked_off_kernel(
 
 		heap2 = heap;
 		heap = mem_heap_create(1024);
-		err = trx_undo_prev_version_build(clust_rec, &mtr, version,
-						  clust_index, clust_offsets,
-						  heap, &prev_version);
+#ifdef UNIV_DEBUG
+		err =
+#endif /* UNIV_DEBUG */
+		trx_undo_prev_version_build(clust_rec, &mtr, version,
+					    clust_index, clust_offsets,
+					    heap, &prev_version);
 		mem_heap_free(heap2); /* free version and clust_offsets */
 
 		if (prev_version == NULL) {

=== modified file 'storage/innodb_plugin/trx/trx0purge.c'
--- a/storage/innodb_plugin/trx/trx0purge.c	2009-11-02 09:42:56 +0000
+++ b/storage/innodb_plugin/trx/trx0purge.c	2010-09-15 16:05:35 +0000
@@ -304,9 +304,10 @@ trx_purge_add_update_undo_to_history(
 	trx_undo_t*	undo;
 	trx_rseg_t*	rseg;
 	trx_rsegf_t*	rseg_header;
+#ifdef UNIV_DEBUG
 	trx_usegf_t*	seg_header;
+#endif /* UNIV_DEBUG */
 	trx_ulogf_t*	undo_header;
-	trx_upagef_t*	page_header;
 	ulint		hist_size;
 
 	undo = trx->update_undo;
@@ -321,8 +322,9 @@ trx_purge_add_update_undo_to_history(
 				    rseg->page_no, mtr);
 
 	undo_header = undo_page + undo->hdr_offset;
+#ifdef UNIV_DEBUG
 	seg_header  = undo_page + TRX_UNDO_SEG_HDR;
-	page_header = undo_page + TRX_UNDO_PAGE_HDR;
+#endif /* UNIV_DEBUG */
 
 	if (undo->state != TRX_UNDO_CACHED) {
 		/* The undo log segment will not be reused */
@@ -655,7 +657,6 @@ trx_purge_rseg_get_next_history_log(
 {
 	page_t*		undo_page;
 	trx_ulogf_t*	log_hdr;
-	trx_usegf_t*	seg_hdr;
 	fil_addr_t	prev_log_addr;
 	trx_id_t	trx_no;
 	ibool		del_marks;
@@ -676,7 +677,6 @@ trx_purge_rseg_get_next_history_log(
 	undo_page = trx_undo_page_get_s_latched(rseg->space, rseg->zip_size,
 						rseg->last_page_no, &mtr);
 	log_hdr = undo_page + rseg->last_offset;
-	seg_hdr = undo_page + TRX_UNDO_SEG_HDR;
 
 	/* Increase the purge page count by one for every handled log */
 
@@ -1068,12 +1068,8 @@ trx_purge_rec_release(
 /*==================*/
 	trx_undo_inf_t*	cell)	/*!< in: storage cell */
 {
-	trx_undo_arr_t*	arr;
-
 	mutex_enter(&(purge_sys->mutex));
 
-	arr = purge_sys->arr;
-
 	trx_purge_arr_remove_info(cell);
 
 	mutex_exit(&(purge_sys->mutex));

=== modified file 'storage/innodb_plugin/trx/trx0roll.c'
--- a/storage/innodb_plugin/trx/trx0roll.c	2009-09-10 10:29:46 +0000
+++ b/storage/innodb_plugin/trx/trx0roll.c	2010-09-15 16:06:31 +0000
@@ -740,13 +740,8 @@ trx_undo_arr_remove_info(
 	undo_no_t	undo_no)/*!< in: undo number */
 {
 	trx_undo_inf_t*	cell;
-	ulint		n_used;
-	ulint		n;
 	ulint		i;
 
-	n_used = arr->n_used;
-	n = 0;
-
 	for (i = 0;; i++) {
 		cell = trx_undo_arr_get_nth_info(arr, i);
 

=== modified file 'storage/innodb_plugin/trx/trx0sys.c'
--- a/storage/innodb_plugin/trx/trx0sys.c	2010-03-26 14:19:01 +0000
+++ b/storage/innodb_plugin/trx/trx0sys.c	2010-09-15 16:58:36 +0000
@@ -241,7 +241,9 @@ trx_sys_create_doublewrite_buf(void)
 {
 	buf_block_t*	block;
 	buf_block_t*	block2;
+#ifdef UNIV_SYNC_DEBUG
 	buf_block_t*	new_block;
+#endif /* UNIV_SYNC_DEBUG */
 	byte*	doublewrite;
 	byte*	fseg_header;
 	ulint	page_no;
@@ -344,8 +346,11 @@ start_again:
 			the page position in the tablespace, then the page
 			has not been written to in doublewrite. */
 
-			new_block = buf_page_get(TRX_SYS_SPACE, 0, page_no,
-						 RW_X_LATCH, &mtr);
+#ifdef UNIV_SYNC_DEBUG
+			new_block =
+#endif /* UNIV_SYNC_DEBUG */
+			buf_page_get(TRX_SYS_SPACE, 0, page_no,
+				     RW_X_LATCH, &mtr);
 			buf_block_dbg_add_level(new_block,
 						SYNC_NO_ORDER_CHECK);
 

=== modified file 'storage/innodb_plugin/trx/trx0trx.c'
--- a/storage/innodb_plugin/trx/trx0trx.c	2010-05-14 13:08:15 +0000
+++ b/storage/innodb_plugin/trx/trx0trx.c	2010-09-15 16:48:37 +0000
@@ -1805,7 +1805,6 @@ trx_prepare_off_kernel(
 /*===================*/
 	trx_t*	trx)	/*!< in: transaction */
 {
-	page_t*		update_hdr_page;
 	trx_rseg_t*	rseg;
 	ib_uint64_t	lsn		= 0;
 	mtr_t		mtr;
@@ -1838,7 +1837,7 @@ trx_prepare_off_kernel(
 		}
 
 		if (trx->update_undo) {
-			update_hdr_page = trx_undo_set_state_at_prepare(
+			trx_undo_set_state_at_prepare(
 				trx, trx->update_undo, &mtr);
 		}
 

=== modified file 'storage/innodb_plugin/trx/trx0undo.c'
--- a/storage/innodb_plugin/trx/trx0undo.c	2010-08-20 02:55:52 +0000
+++ b/storage/innodb_plugin/trx/trx0undo.c	2010-09-15 16:50:05 +0000
@@ -1066,14 +1066,11 @@ trx_undo_truncate_end(
 	ulint		last_page_no;
 	trx_undo_rec_t* rec;
 	trx_undo_rec_t* trunc_here;
-	trx_rseg_t*	rseg;
 	mtr_t		mtr;
 
 	ut_ad(mutex_own(&(trx->undo_mutex)));
 	ut_ad(mutex_own(&(trx->rseg->mutex)));
 
-	rseg = trx->rseg;
-
 	for (;;) {
 		mtr_start(&mtr);
 
@@ -1868,7 +1865,6 @@ trx_undo_set_state_at_prepare(
 	mtr_t*		mtr)	/*!< in: mtr */
 {
 	trx_usegf_t*	seg_hdr;
-	trx_upagef_t*	page_hdr;
 	trx_ulogf_t*	undo_header;
 	page_t*		undo_page;
 	ulint		offset;
@@ -1886,7 +1882,6 @@ trx_undo_set_state_at_prepare(
 				      undo->hdr_page_no, mtr);
 
 	seg_hdr = undo_page + TRX_UNDO_SEG_HDR;
-	page_hdr = undo_page + TRX_UNDO_PAGE_HDR;
 
 	/*------------------------------*/
 	undo->state = TRX_UNDO_PREPARED;

=== modified file 'storage/myisam/mi_range.c'
--- a/storage/myisam/mi_range.c	2007-10-11 15:07:40 +0000
+++ b/storage/myisam/mi_range.c	2010-09-24 22:13:51 +0000
@@ -193,12 +193,11 @@ static double _mi_search_pos(register MI
 			     register my_off_t pos)
 {
   int flag;
-  uint nod_flag,keynr,max_keynr;
+  uint nod_flag,keynr,UNINIT_VAR(max_keynr);
   my_bool after_key;
   uchar *keypos,*buff;
   double offset;
   DBUG_ENTER("_mi_search_pos");
-  LINT_INIT(max_keynr);
 
   if (pos == HA_OFFSET_ERROR)
     DBUG_RETURN(0.5);

=== modified file 'storage/myisam/mi_search.c'
--- a/storage/myisam/mi_search.c	2010-07-02 18:30:47 +0000
+++ b/storage/myisam/mi_search.c	2010-09-24 22:13:51 +0000
@@ -296,9 +296,9 @@ int _mi_prefix_search(MI_INFO *info, reg
     flag is the value returned by ha_key_cmp and as treated as final
   */
   int flag=0, my_flag=-1;
-  uint nod_flag, length, len, matched, cmplen, kseg_len;
-  uint prefix_len,suffix_len;
-  int key_len_skip, seg_len_pack, key_len_left;
+  uint nod_flag, UNINIT_VAR(length), len, matched, cmplen, kseg_len;
+  uint UNINIT_VAR(prefix_len), suffix_len;
+  int key_len_skip, UNINIT_VAR(seg_len_pack), key_len_left;
   uchar *end, *kseg, *vseg;
   uchar *sort_order=keyinfo->seg->charset->sort_order;
   uchar tt_buff[MI_MAX_KEY_BUFF+2], *t_buff=tt_buff+2;
@@ -308,10 +308,6 @@ int _mi_prefix_search(MI_INFO *info, reg
   uint  length_pack;
   DBUG_ENTER("_mi_prefix_search");
 
-  LINT_INIT(length);
-  LINT_INIT(prefix_len);
-  LINT_INIT(seg_len_pack);
-
   t_buff[0]=0;                                  /* Avoid bugs */
   end= page+mi_getint(page);
   nod_flag=mi_test_if_nod(page);

=== modified file 'storage/myisam/rt_index.c'
--- a/storage/myisam/rt_index.c	2010-03-25 11:18:14 +0000
+++ b/storage/myisam/rt_index.c	2010-09-24 22:13:51 +0000
@@ -481,17 +481,13 @@ static uchar *rtree_pick_key(MI_INFO *in
 			     uint key_length, uchar *page_buf, uint nod_flag)
 {
   double increase;
-  double best_incr;
+  double UNINIT_VAR(best_incr);
   double area;
-  double best_area;
+  double UNINIT_VAR(best_area);
   uchar *best_key= NULL;
   uchar *k = rt_PAGE_FIRST_KEY(page_buf, nod_flag);
   uchar *last = rt_PAGE_END(page_buf);
 
-  LINT_INIT(best_area);
-  LINT_INIT(best_key);
-  LINT_INIT(best_incr);
-
   for (; k < last; k = rt_PAGE_NEXT_KEY(k, key_length, nod_flag))
   {
     /* The following is safe as -1.0 is an exact number */

=== modified file 'storage/myisam/rt_split.c'
--- a/storage/myisam/rt_split.c	2010-07-20 18:07:36 +0000
+++ b/storage/myisam/rt_split.c	2010-09-24 22:13:51 +0000
@@ -178,18 +178,13 @@ static int split_rtree_node(SplitStruct 
                    double **d_buffer, int n_dim)
 {
   SplitStruct *cur;
-  SplitStruct *a;
-  SplitStruct *b;
+  SplitStruct *UNINIT_VAR(a), *UNINIT_VAR(b);
   double *g1 = reserve_coords(d_buffer, n_dim);
   double *g2 = reserve_coords(d_buffer, n_dim);
-  SplitStruct *next;
-  int next_node;
+  SplitStruct *UNINIT_VAR(next);
+  int UNINIT_VAR(next_node);
   int i;
   SplitStruct *end = node + n_entries;
-  LINT_INIT(a);
-  LINT_INIT(b);
-  LINT_INIT(next);
-  LINT_INIT(next_node);
 
   if (all_size < min_size * 2)
   {


Attachment: [text/bzr-bundle] bzr/alexey.kopytov@sun.com-20101001195655-2z1rzbvj0tagqazc.bundle
Thread
bzr commit into mysql-5.1-bugteam branch (Alexey.Kopytov:3515)Alexey Kopytov1 Oct