← Back to team overview

maria-developers team mailing list archive

bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2702)

 

#At lp:maria

 2702 knielsen@xxxxxxxxxxxxxxx	2009-06-09
      XtraDB after-merge fixes.
      
      Fixes to get the test suite to run without failures.
      removed:
        storage/xtradb/setup.sh
      modified:
        mysql-test/r/information_schema.result
        mysql-test/r/information_schema_all_engines.result
        mysql-test/r/innodb-autoinc.result
        mysql-test/r/innodb-index.result
        mysql-test/r/innodb-zip.result
        mysql-test/r/innodb.result
        mysql-test/r/innodb_bug36169.result
        mysql-test/r/innodb_xtradb_bug317074.result
        mysql-test/r/row-checksum-old.result
        mysql-test/r/row-checksum.result
        mysql-test/t/information_schema.test
        mysql-test/t/innodb-analyze.test
        mysql-test/t/innodb-autoinc.test
        mysql-test/t/innodb-index.test
        mysql-test/t/innodb-zip.test
        mysql-test/t/innodb.test
        mysql-test/t/innodb_bug34300.test
        mysql-test/t/innodb_bug36169.test
        mysql-test/t/innodb_bug36172.test
        mysql-test/t/innodb_xtradb_bug317074.test
        mysql-test/t/partition_innodb.test
        mysys/thr_mutex.c
        storage/xtradb/ibuf/ibuf0ibuf.c
        storage/xtradb/include/sync0rw.h
        storage/xtradb/include/sync0rw.ic
        storage/xtradb/include/univ.i
        storage/xtradb/srv/srv0start.c

per-file messages:
  mysql-test/r/information_schema.result
    Additional variables available now.
    Sort output to avoid depending on engine order.
  mysql-test/r/information_schema_all_engines.result
    More variables now.
  mysql-test/r/innodb-autoinc.result
    Avoid picking up pbxt variables in result
  mysql-test/r/innodb-index.result
    Save state to not corrupt following testcases.
    Suppress an expected warning.
  mysql-test/r/innodb-zip.result
    Work around a problem with dependency on zlib version
  mysql-test/r/innodb.result
    Checksums have changed in Maria.
    Save and restore server state to not corrupt following testcases.
  mysql-test/r/innodb_bug36169.result
    Save and restore server state to not corrupt following testcases.
  mysql-test/r/innodb_xtradb_bug317074.result
    Save and restore server state to not corrupt following testcases.
  mysql-test/r/row-checksum-old.result
    Update result file
  mysql-test/r/row-checksum.result
    Update result file
  mysql-test/t/information_schema.test
    Sort output to avoid depending on engine order.
  mysql-test/t/innodb-analyze.test
    Save and restore server state to not corrupt following testcases.
  mysql-test/t/innodb-autoinc.test
    Save and restore server state to not corrupt following testcases.
  mysql-test/t/innodb-index.test
    Save state to not corrupt following testcases.
    Suppress an expected warning.
  mysql-test/t/innodb-zip.test
    Work around a problem with dependency on zlib version
  mysql-test/t/innodb.test
    Save and restore server state to not corrupt following testcases.
    Update --replace statements for new mysql-test-run
  mysql-test/t/innodb_bug34300.test
    Save and restore server state to not corrupt following testcases.
  mysql-test/t/innodb_bug36169.test
    Save and restore server state to not corrupt following testcases.
  mysql-test/t/innodb_bug36172.test
    Save and restore server state to not corrupt following testcases.
  mysql-test/t/innodb_xtradb_bug317074.test
    Save and restore server state to not corrupt following testcases.
  mysql-test/t/partition_innodb.test
    Fix regexps to work with new SHOW INNODB STATUS output.
  mysys/thr_mutex.c
    Initialize mutex deadlock detection lazily.
    This allows to test XtraDB, which initializes huge amounts of mutexes without using any but a few of them.
  storage/xtradb/ibuf/ibuf0ibuf.c
    Fix problem where value of INNODB_IBUF_MAX_SIZE would depend on the alignment of memory
    allocated by the buffer pool.
  storage/xtradb/include/sync0rw.h
    Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
    when they are not available though).
  storage/xtradb/include/sync0rw.ic
    Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
    when they are not available though).
  storage/xtradb/include/univ.i
    Fix for MariaDB
  storage/xtradb/setup.sh
    Remove no longer needed file from XtraDB.
  storage/xtradb/srv/srv0start.c
    Fix for MariaDB
=== modified file 'mysql-test/r/information_schema.result'
--- a/mysql-test/r/information_schema.result	2009-04-08 16:55:26 +0000
+++ b/mysql-test/r/information_schema.result	2009-06-09 15:08:46 +0000
@@ -42,7 +42,7 @@ WHERE table_schema IN ('mysql', 'INFORMA
 table_name<>'ndb_binlog_index' AND
 table_name<>'ndb_apply_status' AND
 NOT (table_schema = 'INFORMATION_SCHEMA' AND table_name LIKE 'PBXT_%');
-select * from v1;
+select * from v1 ORDER BY c COLLATE utf8_bin;
 c
 CHARACTER_SETS
 COLLATIONS
@@ -54,6 +54,17 @@ EVENTS
 FILES
 GLOBAL_STATUS
 GLOBAL_VARIABLES
+INNODB_BUFFER_POOL_PAGES
+INNODB_BUFFER_POOL_PAGES_BLOB
+INNODB_BUFFER_POOL_PAGES_INDEX
+INNODB_CMP
+INNODB_CMPMEM
+INNODB_CMPMEM_RESET
+INNODB_CMP_RESET
+INNODB_LOCKS
+INNODB_LOCK_WAITS
+INNODB_RSEG
+INNODB_TRX
 KEY_COLUMN_USAGE
 PARTITIONS
 PLUGINS
@@ -72,6 +83,7 @@ TABLE_PRIVILEGES
 TRIGGERS
 USER_PRIVILEGES
 VIEWS
+XTRADB_ENHANCEMENTS
 columns_priv
 db
 event
@@ -87,6 +99,11 @@ proc
 procs_priv
 servers
 slow_log
+t1
+t2
+t3
+t4
+t5
 tables_priv
 time_zone
 time_zone_leap_second
@@ -94,11 +111,6 @@ time_zone_name
 time_zone_transition
 time_zone_transition_type
 user
-t1
-t4
-t2
-t3
-t5
 v1
 select c,table_name from v1 
 inner join information_schema.TABLES v2 on (v1.c=v2.table_name)
@@ -800,6 +812,8 @@ TABLES	CREATE_TIME	datetime
 TABLES	UPDATE_TIME	datetime
 TABLES	CHECK_TIME	datetime
 TRIGGERS	CREATED	datetime
+INNODB_TRX	trx_started	datetime
+INNODB_TRX	trx_wait_started	datetime
 event	execute_at	datetime
 event	last_executed	datetime
 event	starts	datetime
@@ -848,6 +862,7 @@ TABLES	TABLE_NAME	select
 TABLE_CONSTRAINTS	TABLE_NAME	select
 TABLE_PRIVILEGES	TABLE_NAME	select
 VIEWS	TABLE_NAME	select
+INNODB_BUFFER_POOL_PAGES_INDEX	table_name	select
 delete from mysql.user where user='mysqltest_4';
 delete from mysql.db where user='mysqltest_4';
 flush privileges;
@@ -1223,12 +1238,12 @@ DROP PROCEDURE p1;
 DROP USER mysql_bug20230@localhost;
 SELECT MAX(table_name) FROM information_schema.tables WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test');
 MAX(table_name)
-VIEWS
+XTRADB_ENHANCEMENTS
 SELECT table_name from information_schema.tables
 WHERE table_name=(SELECT MAX(table_name)
 FROM information_schema.tables WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test'));
 table_name
-VIEWS
+XTRADB_ENHANCEMENTS
 DROP TABLE IF EXISTS bug23037;
 DROP FUNCTION IF EXISTS get_value;
 SELECT COLUMN_NAME, MD5(COLUMN_DEFAULT), LENGTH(COLUMN_DEFAULT) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='bug23037';

=== modified file 'mysql-test/r/information_schema_all_engines.result'
--- a/mysql-test/r/information_schema_all_engines.result	2009-04-08 16:55:26 +0000
+++ b/mysql-test/r/information_schema_all_engines.result	2009-06-09 15:08:46 +0000
@@ -29,6 +29,18 @@ TABLE_PRIVILEGES
 TRIGGERS
 USER_PRIVILEGES
 VIEWS
+INNODB_BUFFER_POOL_PAGES_INDEX
+INNODB_RSEG
+INNODB_LOCKS
+INNODB_BUFFER_POOL_PAGES
+XTRADB_ENHANCEMENTS
+INNODB_TRX
+INNODB_BUFFER_POOL_PAGES_BLOB
+INNODB_LOCK_WAITS
+INNODB_CMP_RESET
+INNODB_CMP
+INNODB_CMPMEM_RESET
+INNODB_CMPMEM
 PBXT_STATISTICS
 SELECT t.table_name, c1.column_name
 FROM information_schema.tables t
@@ -73,6 +85,18 @@ TABLE_PRIVILEGES	TABLE_SCHEMA
 TRIGGERS	TRIGGER_SCHEMA
 USER_PRIVILEGES	GRANTEE
 VIEWS	TABLE_SCHEMA
+INNODB_BUFFER_POOL_PAGES_INDEX	schema_name
+INNODB_RSEG	rseg_id
+INNODB_LOCKS	lock_id
+INNODB_BUFFER_POOL_PAGES	page_type
+XTRADB_ENHANCEMENTS	name
+INNODB_TRX	trx_id
+INNODB_BUFFER_POOL_PAGES_BLOB	space_id
+INNODB_LOCK_WAITS	requesting_trx_id
+INNODB_CMP_RESET	page_size
+INNODB_CMP	page_size
+INNODB_CMPMEM_RESET	page_size
+INNODB_CMPMEM	page_size
 PBXT_STATISTICS	ID
 SELECT t.table_name, c1.column_name
 FROM information_schema.tables t
@@ -117,6 +141,18 @@ TABLE_PRIVILEGES	TABLE_SCHEMA
 TRIGGERS	TRIGGER_SCHEMA
 USER_PRIVILEGES	GRANTEE
 VIEWS	TABLE_SCHEMA
+INNODB_BUFFER_POOL_PAGES_INDEX	schema_name
+INNODB_RSEG	rseg_id
+INNODB_LOCKS	lock_id
+INNODB_BUFFER_POOL_PAGES	page_type
+XTRADB_ENHANCEMENTS	name
+INNODB_TRX	trx_id
+INNODB_BUFFER_POOL_PAGES_BLOB	space_id
+INNODB_LOCK_WAITS	requesting_trx_id
+INNODB_CMP_RESET	page_size
+INNODB_CMP	page_size
+INNODB_CMPMEM_RESET	page_size
+INNODB_CMPMEM	page_size
 PBXT_STATISTICS	ID
 select 1 as f1 from information_schema.tables  where "CHARACTER_SETS"=
 (select cast(table_name as char)  from information_schema.tables
@@ -149,6 +185,17 @@ EVENTS	information_schema.EVENTS	1
 FILES	information_schema.FILES	1
 GLOBAL_STATUS	information_schema.GLOBAL_STATUS	1
 GLOBAL_VARIABLES	information_schema.GLOBAL_VARIABLES	1
+INNODB_BUFFER_POOL_PAGES	information_schema.INNODB_BUFFER_POOL_PAGES	1
+INNODB_BUFFER_POOL_PAGES_BLOB	information_schema.INNODB_BUFFER_POOL_PAGES_BLOB	1
+INNODB_BUFFER_POOL_PAGES_INDEX	information_schema.INNODB_BUFFER_POOL_PAGES_INDEX	1
+INNODB_CMP	information_schema.INNODB_CMP	1
+INNODB_CMPMEM	information_schema.INNODB_CMPMEM	1
+INNODB_CMPMEM_RESET	information_schema.INNODB_CMPMEM_RESET	1
+INNODB_CMP_RESET	information_schema.INNODB_CMP_RESET	1
+INNODB_LOCKS	information_schema.INNODB_LOCKS	1
+INNODB_LOCK_WAITS	information_schema.INNODB_LOCK_WAITS	1
+INNODB_RSEG	information_schema.INNODB_RSEG	1
+INNODB_TRX	information_schema.INNODB_TRX	1
 KEY_COLUMN_USAGE	information_schema.KEY_COLUMN_USAGE	1
 PARTITIONS	information_schema.PARTITIONS	1
 PBXT_STATISTICS	information_schema.PBXT_STATISTICS	1
@@ -168,6 +215,7 @@ TABLE_PRIVILEGES	information_schema.TABL
 TRIGGERS	information_schema.TRIGGERS	1
 USER_PRIVILEGES	information_schema.USER_PRIVILEGES	1
 VIEWS	information_schema.VIEWS	1
+XTRADB_ENHANCEMENTS	information_schema.XTRADB_ENHANCEMENTS	1
 Database: information_schema
 +---------------------------------------+
 |                Tables                 |
@@ -200,6 +248,18 @@ Database: information_schema
 | TRIGGERS                              |
 | USER_PRIVILEGES                       |
 | VIEWS                                 |
+| INNODB_BUFFER_POOL_PAGES_INDEX        |
+| INNODB_RSEG                           |
+| INNODB_LOCKS                          |
+| INNODB_BUFFER_POOL_PAGES              |
+| XTRADB_ENHANCEMENTS                   |
+| INNODB_TRX                            |
+| INNODB_BUFFER_POOL_PAGES_BLOB         |
+| INNODB_LOCK_WAITS                     |
+| INNODB_CMP_RESET                      |
+| INNODB_CMP                            |
+| INNODB_CMPMEM_RESET                   |
+| INNODB_CMPMEM                         |
 | PBXT_STATISTICS                       |
 +---------------------------------------+
 Database: INFORMATION_SCHEMA
@@ -234,6 +294,18 @@ Database: INFORMATION_SCHEMA
 | TRIGGERS                              |
 | USER_PRIVILEGES                       |
 | VIEWS                                 |
+| INNODB_BUFFER_POOL_PAGES_INDEX        |
+| INNODB_RSEG                           |
+| INNODB_LOCKS                          |
+| INNODB_BUFFER_POOL_PAGES              |
+| XTRADB_ENHANCEMENTS                   |
+| INNODB_TRX                            |
+| INNODB_BUFFER_POOL_PAGES_BLOB         |
+| INNODB_LOCK_WAITS                     |
+| INNODB_CMP_RESET                      |
+| INNODB_CMP                            |
+| INNODB_CMPMEM_RESET                   |
+| INNODB_CMPMEM                         |
 | PBXT_STATISTICS                       |
 +---------------------------------------+
 Wildcard: inf_rmation_schema
@@ -244,5 +316,5 @@ Wildcard: inf_rmation_schema
 +--------------------+
 SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA;
 table_schema	count(*)
-information_schema	29
+information_schema	41
 mysql	22

=== modified file 'mysql-test/r/innodb-autoinc.result'
--- a/mysql-test/r/innodb-autoinc.result	2009-06-09 13:19:13 +0000
+++ b/mysql-test/r/innodb-autoinc.result	2009-06-09 15:08:46 +0000
@@ -197,7 +197,7 @@ c1	c2
 5	9
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	100
 auto_increment_offset	10
@@ -230,7 +230,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -269,7 +269,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -282,7 +282,7 @@ SELECT * FROM t1;
 c1
 -1
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	100
 auto_increment_offset	10
@@ -315,7 +315,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -330,7 +330,7 @@ SELECT * FROM t1;
 c1
 1
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	100
 auto_increment_offset	10
@@ -370,7 +370,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -385,7 +385,7 @@ SELECT * FROM t1;
 c1
 1
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	100
 auto_increment_offset	10
@@ -419,7 +419,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -434,7 +434,7 @@ c1
 1
 9223372036854775794
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	2
 auto_increment_offset	10
@@ -452,7 +452,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -467,7 +467,7 @@ c1
 1
 18446744073709551603
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	2
 auto_increment_offset	10
@@ -485,7 +485,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -500,7 +500,7 @@ c1
 1
 18446744073709551603
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=5, @@SESSION.AUTO_INCREMENT_OFFSET=7;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	5
 auto_increment_offset	7
@@ -514,7 +514,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -533,7 +533,7 @@ c1
 -9223372036854775806
 1
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=3, @@SESSION.AUTO_INCREMENT_OFFSET=3;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	3
 auto_increment_offset	3
@@ -550,7 +550,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1
@@ -568,7 +568,7 @@ SET @@SESSION.AUTO_INCREMENT_INCREMENT=1
 Warnings:
 Warning	1292	Truncated incorrect auto_increment_increment value: '1152921504606846976'
 Warning	1292	Truncated incorrect auto_increment_offset value: '1152921504606846976'
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	65535
 auto_increment_offset	65535
@@ -581,7 +581,7 @@ c1
 DROP TABLE t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 Variable_name	Value
 auto_increment_increment	1
 auto_increment_offset	1

=== modified file 'mysql-test/r/innodb-index.result'
--- a/mysql-test/r/innodb-index.result	2009-06-09 13:19:13 +0000
+++ b/mysql-test/r/innodb-index.result	2009-06-09 15:08:46 +0000
@@ -1,3 +1,4 @@
+SET @save_innodb_file_format_check=@@global.innodb_file_format_check;
 create table t1(a int not null, b int, c char(10) not null, d varchar(20)) engine = innodb;
 insert into t1 values (5,5,'oo','oo'),(4,4,'tr','tr'),(3,4,'ad','ad'),(2,3,'ak','ak');
 commit;
@@ -47,6 +48,7 @@ t1	CREATE TABLE `t1` (
   KEY `b` (`b`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 CREATE TABLE `t1#1`(a INT PRIMARY KEY) ENGINE=InnoDB;
+call mtr.add_suppression(" table `test`\\.`t1#[12]` already exists in InnoDB internal");
 alter table t1 add unique index (c), add index (d);
 ERROR HY000: Table 'test.t1#1' already exists
 rename table `t1#1` to `t1#2`;
@@ -1132,3 +1134,4 @@ t2	CREATE TABLE `t2` (
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1
 DROP TABLE t2;
 DROP TABLE t1;
+SET GLOBAL innodb_file_format_check=@save_innodb_file_format_check;

=== modified file 'mysql-test/r/innodb-zip.result'
--- a/mysql-test/r/innodb-zip.result	2009-06-09 13:19:13 +0000
+++ b/mysql-test/r/innodb-zip.result	2009-06-09 15:08:46 +0000
@@ -141,7 +141,7 @@ drop table t1;
 CREATE TABLE t1(c TEXT, PRIMARY KEY (c(440)))
 ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
 ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
-CREATE TABLE t1(c TEXT, PRIMARY KEY (c(439)))
+CREATE TABLE t1(c TEXT, PRIMARY KEY (c(438)))
 ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
 INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
 DROP TABLE t1;

=== modified file 'mysql-test/r/innodb.result'
--- a/mysql-test/r/innodb.result	2009-06-09 13:19:13 +0000
+++ b/mysql-test/r/innodb.result	2009-06-09 15:08:46 +0000
@@ -1433,7 +1433,7 @@ insert t2 select * from t1;
 insert t3 select * from t1;
 checksum table t1, t2, t3, t4 quick;
 Table	Checksum
-test.t1	2948697075
+test.t1	3442722830
 test.t2	NULL
 test.t3	NULL
 test.t4	NULL
@@ -1441,17 +1441,17 @@ Warnings:
 Error	1146	Table 'test.t4' doesn't exist
 checksum table t1, t2, t3, t4;
 Table	Checksum
-test.t1	2948697075
-test.t2	2948697075
-test.t3	2948697075
+test.t1	3442722830
+test.t2	3442722830
+test.t3	3442722830
 test.t4	NULL
 Warnings:
 Error	1146	Table 'test.t4' doesn't exist
 checksum table t1, t2, t3, t4 extended;
 Table	Checksum
-test.t1	2948697075
-test.t2	2948697075
-test.t3	2948697075
+test.t1	3442722830
+test.t2	3442722830
+test.t3	3442722830
 test.t4	NULL
 Warnings:
 Error	1146	Table 'test.t4' doesn't exist
@@ -1781,6 +1781,7 @@ set global innodb_sync_spin_loops=20;
 show variables like "innodb_sync_spin_loops";
 Variable_name	Value
 innodb_sync_spin_loops	20
+SET @old_innodb_thread_concurrency= @@global.innodb_thread_concurrency;
 show variables like "innodb_thread_concurrency";
 Variable_name	Value
 innodb_thread_concurrency	0
@@ -1798,6 +1799,7 @@ set global innodb_thread_concurrency=16;
 show variables like "innodb_thread_concurrency";
 Variable_name	Value
 innodb_thread_concurrency	16
+SET @@global.innodb_thread_concurrency= @old_innodb_thread_concurrency;
 show variables like "innodb_concurrency_tickets";
 Variable_name	Value
 innodb_concurrency_tickets	500

=== modified file 'mysql-test/r/innodb_bug36169.result'
--- a/mysql-test/r/innodb_bug36169.result	2009-06-09 13:19:13 +0000
+++ b/mysql-test/r/innodb_bug36169.result	2009-06-09 15:08:46 +0000
@@ -1,2 +1,5 @@
+SET @save_innodb_file_format=@@global.innodb_file_format;
+SET @save_innodb_file_format_check=@@global.innodb_file_format_check;
+SET @save_innodb_file_per_table=@@global.innodb_file_per_table;
 SET GLOBAL innodb_file_format='Barracuda';
 SET GLOBAL innodb_file_per_table=ON;

=== modified file 'mysql-test/r/innodb_xtradb_bug317074.result'
--- a/mysql-test/r/innodb_xtradb_bug317074.result	2009-06-09 13:19:13 +0000
+++ b/mysql-test/r/innodb_xtradb_bug317074.result	2009-06-09 15:08:46 +0000
@@ -1,2 +1,5 @@
+SET @save_innodb_file_format=@@global.innodb_file_format;
+SET @save_innodb_file_format_check=@@global.innodb_file_format_check;
+SET @save_innodb_file_per_table=@@global.innodb_file_per_table;
 SET GLOBAL innodb_file_format='Barracuda';
 SET GLOBAL innodb_file_per_table=ON;

=== modified file 'mysql-test/r/row-checksum-old.result'
--- a/mysql-test/r/row-checksum-old.result	2008-06-28 12:45:15 +0000
+++ b/mysql-test/r/row-checksum-old.result	2009-06-09 15:08:46 +0000
@@ -72,6 +72,8 @@ Table	Checksum
 test.t1	4108368782
 drop table if exists t1;
 create table t1 (a int null, v varchar(100)) engine=innodb checksum=0 row_format=fixed;
+Warnings:
+Warning	1478	InnoDB: assuming ROW_FORMAT=COMPACT.
 insert into t1 values(null, null), (1, "hello");
 checksum table t1;
 Table	Checksum

=== modified file 'mysql-test/r/row-checksum.result'
--- a/mysql-test/r/row-checksum.result	2008-06-28 12:45:15 +0000
+++ b/mysql-test/r/row-checksum.result	2009-06-09 15:08:46 +0000
@@ -72,6 +72,8 @@ Table	Checksum
 test.t1	3885665021
 drop table if exists t1;
 create table t1 (a int null, v varchar(100)) engine=innodb checksum=0 row_format=fixed;
+Warnings:
+Warning	1478	InnoDB: assuming ROW_FORMAT=COMPACT.
 insert into t1 values(null, null), (1, "hello");
 checksum table t1;
 Table	Checksum

=== modified file 'mysql-test/t/information_schema.test'
--- a/mysql-test/t/information_schema.test	2009-04-08 16:55:26 +0000
+++ b/mysql-test/t/information_schema.test	2009-06-09 15:08:46 +0000
@@ -43,7 +43,7 @@ create view v1 (c) as
         table_name<>'ndb_binlog_index' AND
         table_name<>'ndb_apply_status' AND
 	NOT (table_schema = 'INFORMATION_SCHEMA' AND table_name LIKE 'PBXT_%');
-select * from v1;
+select * from v1 ORDER BY c COLLATE utf8_bin;
 
 select c,table_name from v1 
 inner join information_schema.TABLES v2 on (v1.c=v2.table_name)

=== modified file 'mysql-test/t/innodb-analyze.test'
--- a/mysql-test/t/innodb-analyze.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb-analyze.test	2009-06-09 15:08:46 +0000
@@ -11,6 +11,7 @@
 -- disable_result_log
 -- enable_warnings
 
+SET @save_innodb_stats_sample_pages=@@innodb_stats_sample_pages;
 SET GLOBAL innodb_stats_sample_pages=0;
 
 # check that the value has been adjusted to 1
@@ -60,4 +61,5 @@ ANALYZE TABLE innodb_analyze;
 SET GLOBAL innodb_stats_sample_pages=16;
 ANALYZE TABLE innodb_analyze;
 
+SET GLOBAL innodb_stats_sample_pages=@save_innodb_stats_sample_pages;
 DROP TABLE innodb_analyze;

=== modified file 'mysql-test/t/innodb-autoinc.test'
--- a/mysql-test/t/innodb-autoinc.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb-autoinc.test	2009-06-09 15:08:46 +0000
@@ -156,7 +156,7 @@ DROP TABLE t1;
 #
 # Test changes to AUTOINC next value calculation
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 INSERT INTO t1 VALUES (NULL),(5),(NULL);
@@ -173,7 +173,7 @@ DROP TABLE t1;
 # Reset the AUTOINC session variables
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 INSERT INTO t1 VALUES(0);
@@ -193,13 +193,13 @@ DROP TABLE t1;
 # Reset the AUTOINC session variables
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 INT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 INSERT INTO t1 VALUES(-1);
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 INSERT INTO t1 VALUES (-2), (NULL),(2),(NULL);
 INSERT INTO t1 VALUES (250),(NULL);
 SELECT * FROM t1;
@@ -214,13 +214,13 @@ DROP TABLE t1;
 # Reset the AUTOINC session variables
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 INT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 INSERT INTO t1 VALUES(-1);
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 INSERT INTO t1 VALUES (-2);
 INSERT INTO t1 VALUES (NULL);
 INSERT INTO t1 VALUES (2);
@@ -240,13 +240,13 @@ DROP TABLE t1;
 # Reset the AUTOINC session variables
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 INT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 INSERT INTO t1 VALUES(-1);
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=100, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 INSERT INTO t1 VALUES (-2),(NULL),(2),(NULL);
 INSERT INTO t1 VALUES (250),(NULL);
 SELECT * FROM t1;
@@ -262,7 +262,7 @@ DROP TABLE t1;
 # Check for overflow handling when increment is > 1
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 BIGINT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 # TODO: Fix the autoinc init code
@@ -271,7 +271,7 @@ INSERT INTO t1 VALUES(NULL);
 INSERT INTO t1 VALUES (9223372036854775794); #-- 2^63 - 14
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 # This should just fit
 INSERT INTO t1 VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL);
 SELECT * FROM t1;
@@ -281,7 +281,7 @@ DROP TABLE t1;
 # Check for overflow handling when increment and offser are > 1
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 # TODO: Fix the autoinc init code
@@ -290,7 +290,7 @@ INSERT INTO t1 VALUES(NULL);
 INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=2, @@SESSION.AUTO_INCREMENT_OFFSET=10;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 # This should fail because of overflow but it doesn't, it seems to be
 # a MySQL server bug. It wraps around to 0 for the last value.
 # See MySQL Bug# 39828
@@ -313,7 +313,7 @@ DROP TABLE t1;
 # Check for overflow handling when increment and offset are odd numbers
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 # TODO: Fix the autoinc init code
@@ -322,7 +322,7 @@ INSERT INTO t1 VALUES(NULL);
 INSERT INTO t1 VALUES (18446744073709551603); #-- 2^64 - 13
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=5, @@SESSION.AUTO_INCREMENT_OFFSET=7;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 # This should fail because of overflow but it doesn't. It fails with
 # a duplicate entry message because of a MySQL server bug, it wraps
 # around.  See MySQL Bug# 39828, once MySQL fix the bug we can replace
@@ -344,7 +344,7 @@ DROP TABLE t1;
 # and check for large -ve numbers
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 BIGINT AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 # TODO: Fix the autoinc init code
@@ -355,7 +355,7 @@ INSERT INTO t1 VALUES(-92233720368547758
 INSERT INTO t1 VALUES(-9223372036854775808); #-- -2^63
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=3, @@SESSION.AUTO_INCREMENT_OFFSET=3;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 INSERT INTO t1 VALUES (NULL),(NULL), (NULL);
 SELECT * FROM t1;
 DROP TABLE t1;
@@ -364,7 +364,7 @@ DROP TABLE t1;
 # large numbers 2^60
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 BIGINT UNSIGNED AUTO_INCREMENT, PRIMARY KEY(c1)) ENGINE=InnoDB;
 # TODO: Fix the autoinc init code
@@ -373,7 +373,7 @@ INSERT INTO t1 VALUES(NULL);
 INSERT INTO t1 VALUES (18446744073709551610); #-- 2^64 - 2
 SELECT * FROM t1;
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1152921504606846976, @@SESSION.AUTO_INCREMENT_OFFSET=1152921504606846976;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 # This should fail because of overflow but it doesn't. It wraps around
 # and the autoinc values look bogus too.
 # See MySQL Bug# 39828, once MySQL fix the bug we can enable the error
@@ -396,7 +396,7 @@ DROP TABLE t1;
 #
 SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
 SET @@INSERT_ID=1;
-SHOW VARIABLES LIKE "%auto_inc%";
+SHOW VARIABLES LIKE "auto_inc%";
 CREATE TABLE t1 (c1 DOUBLE NOT NULL AUTO_INCREMENT, c2 INT, PRIMARY KEY (c1)) ENGINE=InnoDB;
 INSERT INTO t1 VALUES(NULL, 1);
 INSERT INTO t1 VALUES(NULL, 2);

=== modified file 'mysql-test/t/innodb-index.test'
--- a/mysql-test/t/innodb-index.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb-index.test	2009-06-09 15:08:46 +0000
@@ -1,5 +1,7 @@
 -- source include/have_innodb.inc
 
+SET @save_innodb_file_format_check=@@global.innodb_file_format_check;
+
 create table t1(a int not null, b int, c char(10) not null, d varchar(20)) engine = innodb;
 insert into t1 values (5,5,'oo','oo'),(4,4,'tr','tr'),(3,4,'ad','ad'),(2,3,'ak','ak');
 commit;
@@ -20,6 +22,8 @@ show create table t1;
 # Check how existing tables interfere with temporary tables.
 CREATE TABLE `t1#1`(a INT PRIMARY KEY) ENGINE=InnoDB;
 
+call mtr.add_suppression(" table `test`\\.`t1#[12]` already exists in InnoDB internal");
+
 --error 156
 alter table t1 add unique index (c), add index (d);
 rename table `t1#1` to `t1#2`;
@@ -509,3 +513,4 @@ SHOW CREATE TABLE t2;
 
 DROP TABLE t2;
 DROP TABLE t1;
+SET GLOBAL innodb_file_format_check=@save_innodb_file_format_check;

=== modified file 'mysql-test/t/innodb-zip.test'
--- a/mysql-test/t/innodb-zip.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb-zip.test	2009-06-09 15:08:46 +0000
@@ -105,7 +105,11 @@ drop table t1;
 --error ER_TOO_BIG_ROWSIZE
 CREATE TABLE t1(c TEXT, PRIMARY KEY (c(440)))
 ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
-CREATE TABLE t1(c TEXT, PRIMARY KEY (c(439)))
+# The maximum key size for a compressed row actually depends on the
+# version of libz used, as account must be taken for the maximum
+# compressed size of a key, and this differs between libz
+# versions. Some libz versions allow a size of 439, some only 438.
+CREATE TABLE t1(c TEXT, PRIMARY KEY (c(438)))
 ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
 INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
 DROP TABLE t1;

=== modified file 'mysql-test/t/innodb.test'
--- a/mysql-test/t/innodb.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb.test	2009-06-09 15:08:46 +0000
@@ -1163,7 +1163,7 @@ drop table t2;
 # Test error handling
 
 # Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . master-data/ ''
+--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
 --error ER_WRONG_FK_DEF
 create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb;
 
@@ -1318,6 +1318,7 @@ set global innodb_sync_spin_loops=20;
 show variables like "innodb_sync_spin_loops";
 
 # Test for innodb_thread_concurrency variable
+SET @old_innodb_thread_concurrency= @@global.innodb_thread_concurrency;
 show variables like "innodb_thread_concurrency";
 set global innodb_thread_concurrency=1001;
 show variables like "innodb_thread_concurrency";
@@ -1325,6 +1326,7 @@ set global innodb_thread_concurrency=0;
 show variables like "innodb_thread_concurrency";
 set global innodb_thread_concurrency=16;
 show variables like "innodb_thread_concurrency";
+SET @@global.innodb_thread_concurrency= @old_innodb_thread_concurrency;
 
 # Test for innodb_concurrency_tickets variable
 show variables like "innodb_concurrency_tickets";
@@ -1357,7 +1359,7 @@ source include/varchar.inc;
 #
 
 # Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . master-data/ ''
+--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
 create table t1 (v varchar(65530), key(v));
 drop table t1;
 create table t1 (v varchar(65536));
@@ -1632,7 +1634,7 @@ disconnect b;
 set foreign_key_checks=0;
 create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb;
 # Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . master-data/ ''
+--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
 -- error 1005
 create table t1(a char(10) primary key, b varchar(20)) engine = innodb;
 set foreign_key_checks=1;
@@ -1644,7 +1646,7 @@ drop table t2;
 set foreign_key_checks=0;
 create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1;
 # Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . master-data/ ''
+--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
 -- error 1005
 create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8;
 set foreign_key_checks=1;
@@ -1675,7 +1677,7 @@ set foreign_key_checks=0;
 create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1;
 create table t3(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=utf8;
 # Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . master-data/ ''
+--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
 -- error 1025
 rename table t3 to t1;
 set foreign_key_checks=1;
@@ -2315,7 +2317,7 @@ ALTER TABLE t2 ADD FOREIGN KEY (a) REFER
 # mysqltest first does replace_regex, then replace_result
 --replace_regex /'[^']*test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
 # Embedded server doesn't chdir to data directory
---replace_result $MYSQLTEST_VARDIR . master-data/ ''
+--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
 --error 1025
 ALTER TABLE t2 MODIFY a INT NOT NULL;
 DELETE FROM t1;

=== modified file 'mysql-test/t/innodb_bug34300.test'
--- a/mysql-test/t/innodb_bug34300.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb_bug34300.test	2009-06-09 15:08:46 +0000
@@ -9,6 +9,7 @@
 -- disable_result_log
 
 # set packet size and reconnect 
+SET @save_max_allowed_packet=@@global.max_allowed_packet;
 SET @@global.max_allowed_packet=16777216;
 --connect (newconn, localhost, root,,)
 
@@ -30,3 +31,6 @@ ALTER TABLE bug34300 ADD COLUMN (f10 INT
 SELECT f4, f8 FROM bug34300;
 
 DROP TABLE bug34300;
+disconnect newconn;
+connection default;
+SET @@global.max_allowed_packet=@save_max_allowed_packet;

=== modified file 'mysql-test/t/innodb_bug36169.test'
--- a/mysql-test/t/innodb_bug36169.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb_bug36169.test	2009-06-09 15:08:46 +0000
@@ -5,6 +5,9 @@
 
 -- source include/have_innodb.inc
 
+SET @save_innodb_file_format=@@global.innodb_file_format;
+SET @save_innodb_file_format_check=@@global.innodb_file_format_check;
+SET @save_innodb_file_per_table=@@global.innodb_file_per_table;
 SET GLOBAL innodb_file_format='Barracuda';
 SET GLOBAL innodb_file_per_table=ON;
 
@@ -1145,6 +1148,10 @@ KEY `idx44` (`col176`(100),`col42`,`col7
 KEY `idx45` (`col2`(27),`col27`(116))
 )engine=innodb ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1;
 
+SET GLOBAL innodb_file_format=@save_innodb_file_format;
+SET GLOBAL innodb_file_format_check=@save_innodb_file_format_check;
+SET GLOBAL innodb_file_per_table=@save_innodb_file_per_table;
+
 DROP TABLE IF EXISTS table0;
 DROP TABLE IF EXISTS table1;
 DROP TABLE IF EXISTS table2;

=== modified file 'mysql-test/t/innodb_bug36172.test'
--- a/mysql-test/t/innodb_bug36172.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb_bug36172.test	2009-06-09 15:08:46 +0000
@@ -14,6 +14,9 @@ SET storage_engine=InnoDB;
 -- disable_query_log
 -- disable_result_log
 
+SET @save_innodb_file_format=@@global.innodb_file_format;
+SET @save_innodb_file_format_check=@@global.innodb_file_format_check;
+SET @save_innodb_file_per_table=@@global.innodb_file_per_table;
 SET GLOBAL innodb_file_format='Barracuda';
 SET GLOBAL innodb_file_per_table=on;
 
@@ -23,4 +26,8 @@ insert ignore into `table0` set  `col23`
 CHECK TABLE table0 EXTENDED;
 INSERT IGNORE INTO `table0` SET `col19` = '19940127002709', `col20` = 2383927.9055146948, `col21` = 4293243420.5621204000, `col22` = '20511211123705', `col23` = 4289899778.6573381000, `col24` = 4293449279.0540481000, `col25` = 'emphysemic', `col26` = 'dentally', `col27` = '2347406', `col28` = 'eruct', `col30` = 1222, `col31` = 4294372994.9941406000, `col32` = 4291385574.1173744000, `col33` = 'borrowing\'s', `col34` = 'septics', `col35` = 'ratter\'s', `col36` = 'Kaye', `col37` = 'Florentia', `col38` = 'allium', `col39` = 'barkeep', `col40` = '19510407003441', `col41` = 4293559200.4215522000, `col42` = 22482, `col43` = 'decussate', `col44` = 'Brom\'s', `col45` = 'violated', `col46` = 4925506.4635456400, `col47` = 930549, `col48` = '51296066', `col49` = 'voluminously', `col50` = '29306676', `col51` = -88, `col52` = -2153690, `col53` = 4290250202.1464887000, `col54` = 'expropriation', `col55` = 'Aberdeen\'s', `col56` = 20343, `col58` = '19640415171532', `col59` = 'extern', `col60` = 'Ubana', `col61` = 4290487961.8539081000, `col62` = '2147', `col63` = -24271, `col64` = '20750801194548', `col65` = 'Cunaxa\'s', `col66` = 'pasticcio', `col67` = 2795817, `col68` = 'Indore\'s', `col70` = 6864127, `col71` = '1817832', `col72` = '20540506114211', `col73` = '20040101012300', `col74` = 'rationalized', `col75` = '45522', `col76` = 'indene', `col77` = -6964559, `col78` = 4247535.5266884370, `col79` = '20720416124357', `col80` = '2143', `col81` = 4292060102.4466386000, `col82` = 'striving', `col83` = 'boneblack\'s', `col84` = 'redolent', `col85` = 6489697.9009369183, `col86` = 4287473465.9731131000, `col87` = 7726015, `col88` = 'perplexed', `col89` = '17153791', `col90` = 5478587.1108127078, `col91` = 4287091404.7004304000, `col92` = 'Boulez\'s', `col93` = '2931278';
 CHECK TABLE table0 EXTENDED;
+
+SET GLOBAL innodb_file_format=@save_innodb_file_format;
+SET GLOBAL innodb_file_format_check=@save_innodb_file_format_check;
+SET GLOBAL innodb_file_per_table=@save_innodb_file_per_table;
 DROP TABLE table0;

=== modified file 'mysql-test/t/innodb_xtradb_bug317074.test'
--- a/mysql-test/t/innodb_xtradb_bug317074.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/innodb_xtradb_bug317074.test	2009-06-09 15:08:46 +0000
@@ -1,5 +1,8 @@
 -- source include/have_innodb.inc
 
+SET @save_innodb_file_format=@@global.innodb_file_format;
+SET @save_innodb_file_format_check=@@global.innodb_file_format_check;
+SET @save_innodb_file_per_table=@@global.innodb_file_per_table;
 SET GLOBAL innodb_file_format='Barracuda';
 SET GLOBAL innodb_file_per_table=ON;
 
@@ -35,4 +38,8 @@ DROP PROCEDURE insert_many;
 # The bug is hangup at the following statement
 ALTER TABLE test1 ENGINE=MyISAM;
 
+SET GLOBAL innodb_file_format=@save_innodb_file_format;
+SET GLOBAL innodb_file_format_check=@save_innodb_file_format_check;
+SET GLOBAL innodb_file_per_table=@save_innodb_file_per_table;
+
 DROP TABLE test1;

=== modified file 'mysql-test/t/partition_innodb.test'
--- a/mysql-test/t/partition_innodb.test	2009-06-09 13:19:13 +0000
+++ b/mysql-test/t/partition_innodb.test	2009-06-09 15:08:46 +0000
@@ -27,14 +27,14 @@ UPDATE t1 SET DATA = data*2 WHERE id = 3
 
 # grouping/referencing in replace_regex is very slow on long strings,
 # removing all before/after the interesting row before grouping/referencing
---replace_regex /.*---TRANSACTION [0-9A-F]+, .*, OS thread id [0-9]+// /MySQL thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+ lock struct\(s\)), heap size [0-9]+, ([0-9]+ row lock\(s\)).*/\1 \2/
+--replace_regex /.*LIST OF TRANSACTIONS FOR EACH SESSION:// /MySQL thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+ lock struct\(s\)), heap size [0-9]+, ([0-9]+ row lock\(s\)).*/\1 \2/
 SHOW ENGINE InnoDB STATUS;
 
 UPDATE t1 SET data = data*2 WHERE data = 2;
 
 # grouping/referencing in replace_regex is very slow on long strings,
 # removing all before/after the interesting row before grouping/referencing
---replace_regex /.*---TRANSACTION [0-9A-F]+, .*, OS thread id [0-9]+// /MySQL thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+ lock struct\(s\)), heap size [0-9]+, ([0-9]+ row lock\(s\)).*/\1 \2/
+--replace_regex /.*LIST OF TRANSACTIONS FOR EACH SESSION:// /MySQL thread id [0-9]+, query id [0-9]+ .*// /.*([0-9]+ lock struct\(s\)), heap size [0-9]+, ([0-9]+ row lock\(s\)).*/\1 \2/
 SHOW ENGINE InnoDB STATUS;
 
 SET @@session.tx_isolation = @old_tx_isolation;

=== modified file 'mysys/thr_mutex.c'
--- a/mysys/thr_mutex.c	2009-02-19 09:01:25 +0000
+++ b/mysys/thr_mutex.c	2009-06-09 15:08:46 +0000
@@ -149,6 +149,35 @@ static inline void remove_from_active_li
   mp->prev= mp->next= 0;
 }
 
+/*
+  We initialise the hashes for deadlock detection lazily.
+  This greatly helps with performance when lots of mutexes are initiased but
+  only a few of them are actually used (eg. XtraDB).
+*/
+static int safe_mutex_lazy_init_deadlock_detection(safe_mutex_t *mp)
+{
+  if (!my_multi_malloc(MY_FAE | MY_WME,
+                       &mp->locked_mutex, sizeof(*mp->locked_mutex),
+                       &mp->used_mutex, sizeof(*mp->used_mutex), NullS))
+  {
+    return 1;                                   /* Error */
+  }
+
+  pthread_mutex_lock(&THR_LOCK_mutex);
+  mp->id= ++safe_mutex_id;
+  pthread_mutex_unlock(&THR_LOCK_mutex);
+  hash_init(mp->locked_mutex, &my_charset_bin,
+            1000,
+            offsetof(safe_mutex_deadlock_t, id),
+            sizeof(mp->id),
+            0, 0, HASH_UNIQUE);
+  hash_init(mp->used_mutex, &my_charset_bin,
+            1000,
+            offsetof(safe_mutex_t, id),
+            sizeof(mp->id),
+            0, 0, HASH_UNIQUE);
+  return 0;
+}
 
 int safe_mutex_init(safe_mutex_t *mp,
 		    const pthread_mutexattr_t *attr __attribute__((unused)),
@@ -167,35 +196,8 @@ int safe_mutex_init(safe_mutex_t *mp,
   mp->line= line;
   /* Skip the very common '&' prefix from the autogenerated name */
   mp->name= name[0] == '&' ? name + 1 : name;
+  /* Deadlock detection is initialised only lazily, on first use. */
 
-  if (safe_mutex_deadlock_detector && !( my_flags & MYF_NO_DEADLOCK_DETECTION))
-  {
-    if (!my_multi_malloc(MY_FAE | MY_WME,
-                         &mp->locked_mutex, sizeof(*mp->locked_mutex),
-                         &mp->used_mutex, sizeof(*mp->used_mutex), NullS))
-    {
-      /* Disable deadlock handling for this mutex */
-      my_flags|= MYF_NO_DEADLOCK_DETECTION;
-    }
-    else
-    {
-      pthread_mutex_lock(&THR_LOCK_mutex);
-      mp->id= ++safe_mutex_id;
-      pthread_mutex_unlock(&THR_LOCK_mutex);
-      hash_init(mp->locked_mutex, &my_charset_bin,
-                1000,
-                offsetof(safe_mutex_deadlock_t, id),
-                sizeof(mp->id),
-                0, 0, HASH_UNIQUE);
-      hash_init(mp->used_mutex, &my_charset_bin,
-                1000,
-                offsetof(safe_mutex_t, id),
-                sizeof(mp->id),
-                0, 0, HASH_UNIQUE);
-    }
-  }
-  else
-    my_flags|= MYF_NO_DEADLOCK_DETECTION;
   mp->create_flags= my_flags;
 
 #ifdef SAFE_MUTEX_DETECT_DESTROY
@@ -310,7 +312,8 @@ int safe_mutex_lock(safe_mutex_t *mp, my
   /* Deadlock detection */
 
   mp->prev= mp->next= 0;
-  if (!(mp->active_flags & (MYF_TRY_LOCK | MYF_NO_DEADLOCK_DETECTION)))
+  if (!(mp->active_flags & (MYF_TRY_LOCK | MYF_NO_DEADLOCK_DETECTION)) &&
+      (mp->used_mutex != NULL || !safe_mutex_lazy_init_deadlock_detection(mp)))
   {
     safe_mutex_t **mutex_in_use= my_thread_var_mutex_in_use();
 
@@ -643,7 +646,7 @@ int safe_mutex_destroy(safe_mutex_t *mp,
 void safe_mutex_free_deadlock_data(safe_mutex_t *mp)
 {
   /* Free all entries that points to this one */
-  if (!(mp->create_flags & MYF_NO_DEADLOCK_DETECTION))
+  if (!(mp->create_flags & MYF_NO_DEADLOCK_DETECTION) && mp->used_mutex != NULL)
   {
     pthread_mutex_lock(&THR_LOCK_mutex);
     my_hash_iterate(mp->used_mutex,

=== modified file 'storage/xtradb/ibuf/ibuf0ibuf.c'
--- a/storage/xtradb/ibuf/ibuf0ibuf.c	2009-03-26 06:11:11 +0000
+++ b/storage/xtradb/ibuf/ibuf0ibuf.c	2009-06-09 15:08:46 +0000
@@ -422,7 +422,12 @@ ibuf_init_at_db_start(void)
 	grow in size, as the references on the upper levels of the tree can
 	change */
 
-	ibuf->max_size = ut_min( buf_pool_get_curr_size() / UNIV_PAGE_SIZE
+        /* The default for ibuf_max_size is calculated from the requested
+           buffer pool size srv_buf_pool_size, not the actual size as returned
+           by buf_pool_get_curr_size(). The latter can differ from the former
+           by one page due to alignment requirements, and we do not want a
+           user-visible variable like INNODB_IBUF_MAX_SIZE to vary at random. */
+	ibuf->max_size = ut_min( srv_buf_pool_size / UNIV_PAGE_SIZE
 		/ IBUF_POOL_SIZE_PER_MAX_SIZE, (ulint) srv_ibuf_max_size / UNIV_PAGE_SIZE);
 
 	srv_ibuf_max_size = (long long) ibuf->max_size * UNIV_PAGE_SIZE;

=== modified file 'storage/xtradb/include/sync0rw.h'
--- a/storage/xtradb/include/sync0rw.h	2009-03-26 06:11:11 +0000
+++ b/storage/xtradb/include/sync0rw.h	2009-06-09 15:08:46 +0000
@@ -357,6 +357,8 @@ rw_lock_get_x_lock_count(
 	rw_lock_t*	lock);	/* in: rw-lock */
 /************************************************************************
 Accessor functions for rw lock. */
+
+#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 UNIV_INLINE
 ulint
 rw_lock_get_s_waiters(
@@ -372,6 +374,14 @@ ulint
 rw_lock_get_wx_waiters(
 /*================*/
 	rw_lock_t*	lock);
+#else /* !INNODB_RW_LOCKS_USE_ATOMICS */
+UNIV_INLINE
+ulint
+rw_lock_get_waiters(
+/*==================*/
+	rw_lock_t*	lock);
+#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
+
 UNIV_INLINE
 ulint
 rw_lock_get_writer(
@@ -488,6 +498,7 @@ rw_lock_debug_print(
 	rw_lock_debug_t*	info);	/* in: debug struct */
 #endif /* UNIV_SYNC_DEBUG */
 
+/*
 #ifndef INNODB_RW_LOCKS_USE_ATOMICS
 #error INNODB_RW_LOCKS_USE_ATOMICS is not defined. Do you use enough new GCC or compatibles?
 #error Or do you use exact options for CFLAGS?
@@ -495,6 +506,7 @@ rw_lock_debug_print(
 #error e.g. (for Sparc_64): "-m64 -mcpu=v9"
 #error Otherwise, this build may be slower than normal version.
 #endif
+*/
 
 /* NOTE! The structure appears here only for the compiler to know its size.
 Do not use its fields directly! The structure used in the spin lock

=== modified file 'storage/xtradb/include/sync0rw.ic'
--- a/storage/xtradb/include/sync0rw.ic	2009-03-26 06:11:11 +0000
+++ b/storage/xtradb/include/sync0rw.ic	2009-06-09 15:08:46 +0000
@@ -68,6 +68,8 @@ rw_lock_remove_debug_info(
 
 /************************************************************************
 Accessor functions for rw lock. */
+
+#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 UNIV_INLINE
 ulint
 rw_lock_get_s_waiters(
@@ -93,23 +95,32 @@ rw_lock_get_wx_waiters(
 {
 	return(lock->wait_ex_waiters);
 }
+#else /* !INNODB_RW_LOCKS_USE_ATOMICS */
+UNIV_INLINE
+ulint
+rw_lock_get_waiters(
+/*================*/
+				/* out: 1 if waiters, 0 otherwise */
+	rw_lock_t*	lock)	/* in: rw-lock */
+{
+	return(lock->waiters);
+}
+#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
+
 
 /************************************************************************
 Sets lock->waiters to 1. It is not an error if lock->waiters is already
 1. On platforms where ATOMIC builtins are used this function enforces a
 memory barrier. */
+#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 UNIV_INLINE
 void
 rw_lock_set_s_waiter_flag(
 /*====================*/
 	rw_lock_t*	lock)	/* in: rw-lock */
 {
-#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 	// os_compare_and_swap(&lock->s_waiters, 0, 1);
 	__sync_lock_test_and_set(&lock->s_waiters, 1);
-#else /* INNODB_RW_LOCKS_USE_ATOMICS */
-	lock->s_waiters = 1;
-#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 }
 UNIV_INLINE
 void
@@ -117,12 +128,8 @@ rw_lock_set_x_waiter_flag(
 /*====================*/
 	rw_lock_t*	lock)	/* in: rw-lock */
 {
-#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 	// os_compare_and_swap(&lock->x_waiters, 0, 1);
 	__sync_lock_test_and_set(&lock->x_waiters, 1);
-#else /* INNODB_RW_LOCKS_USE_ATOMICS */
-	lock->x_waiters = 1;
-#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 }
 UNIV_INLINE
 void
@@ -130,30 +137,34 @@ rw_lock_set_wx_waiter_flag(
 /*====================*/
 	rw_lock_t*	lock)	/* in: rw-lock */
 {
-#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 	// os_compare_and_swap(&lock->wait_ex_waiters, 0, 1);
 	__sync_lock_test_and_set(&lock->wait_ex_waiters, 1);
-#else /* INNODB_RW_LOCKS_USE_ATOMICS */
-	lock->wait_ex_waiters = 1;
-#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 }
+#else /* !INNODB_RW_LOCKS_USE_ATOMICS */
+UNIV_INLINE
+void
+rw_lock_set_waiter_flag(
+/*====================*/
+	rw_lock_t*	lock)	/* in: rw-lock */
+{
+	lock->waiters = 1;
+}
+#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 
 /************************************************************************
 Resets lock->waiters to 0. It is not an error if lock->waiters is already
 0. On platforms where ATOMIC builtins are used this function enforces a
 memory barrier. */
+#ifdef INNODB_RW_LOCKS_USE_ATOMICS
+
 UNIV_INLINE
 void
 rw_lock_reset_s_waiter_flag(
 /*======================*/
 	rw_lock_t*	lock)	/* in: rw-lock */
 {
-#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 	// os_compare_and_swap(&lock->s_waiters, 1, 0);
 	__sync_lock_test_and_set(&lock->s_waiters, 0);
-#else /* INNODB_RW_LOCKS_USE_ATOMICS */
-	lock->s_waiters = 0;
-#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 }
 UNIV_INLINE
 void
@@ -161,12 +172,8 @@ rw_lock_reset_x_waiter_flag(
 /*======================*/
 	rw_lock_t*	lock)	/* in: rw-lock */
 {
-#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 	// os_compare_and_swap(&lock->x_waiters, 1, 0);
 	__sync_lock_test_and_set(&lock->x_waiters, 0);
-#else /* INNODB_RW_LOCKS_USE_ATOMICS */
-	lock->x_waiters = 0;
-#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 }
 UNIV_INLINE
 void
@@ -174,13 +181,19 @@ rw_lock_reset_wx_waiter_flag(
 /*======================*/
 	rw_lock_t*	lock)	/* in: rw-lock */
 {
-#ifdef INNODB_RW_LOCKS_USE_ATOMICS
 	// os_compare_and_swap(&lock->wait_ex_waiters, 1, 0);
 	__sync_lock_test_and_set(&lock->wait_ex_waiters, 0);
-#else /* INNODB_RW_LOCKS_USE_ATOMICS */
-	lock->wait_ex_waiters = 0;
-#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 }
+#else /* !INNODB_RW_LOCKS_USE_ATOMICS */
+UNIV_INLINE
+void
+rw_lock_reset_waiter_flag(
+/*======================*/
+	rw_lock_t*	lock)	/* in: rw-lock */
+{
+	lock->waiters = 0;
+}
+#endif /* INNODB_RW_LOCKS_USE_ATOMICS */
 
 /**********************************************************************
 Returns the write-status of the lock - this function made more sense

=== modified file 'storage/xtradb/include/univ.i'
--- a/storage/xtradb/include/univ.i	2009-03-26 06:11:11 +0000
+++ b/storage/xtradb/include/univ.i	2009-06-09 15:08:46 +0000
@@ -210,7 +210,7 @@ operations (very slow); also UNIV_DEBUG 
 #define UNIV_BTR_DEBUG				/* check B-tree links */
 #define UNIV_LIGHT_MEM_DEBUG			/* light memory debugging */
 
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
 /* The following sets all new allocated memory to zero before use:
 this can be used to eliminate unnecessary Purify warnings, but note that
 it also masks many bugs Purify could detect. For detailed Purify analysis it

=== removed file 'storage/xtradb/setup.sh'
--- a/storage/xtradb/setup.sh	2009-06-09 11:16:11 +0000
+++ b/storage/xtradb/setup.sh	1970-01-01 00:00:00 +0000
@@ -1,47 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
-# 
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; version 2 of the License.
-# 
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# Prepare the MySQL source code tree for building
-# with checked-out InnoDB Subversion directory.
-
-# This script assumes that the current directory is storage/innobase.
-
-set -eu
-
-TARGETDIR=../storage/innobase
-
-# link the build scripts
-BUILDSCRIPTS="compile-innodb compile-innodb-debug"
-for script in $BUILDSCRIPTS ; do
-	ln -sf $TARGETDIR/$script ../../BUILD/
-done
-
-cd ../../mysql-test/t
-ln -sf ../$TARGETDIR/mysql-test/*.test ../$TARGETDIR/mysql-test/*.opt .
-cd ../r
-ln -sf ../$TARGETDIR/mysql-test/*.result .
-cd ../include
-ln -sf ../$TARGETDIR/mysql-test/*.inc .
-
-# Apply any patches that are needed to make the mysql-test suite successful.
-# These patches are usually needed because of deviations of behavior between
-# the stock InnoDB and the InnoDB Plugin.
-cd ../..
-for patch in storage/innobase/mysql-test/patches/*.diff ; do
-	if [ "${patch}" != "storage/innobase/mysql-test/patches/*.diff" ] ; then
-		patch -p0 < ${patch}
-	fi
-done

=== modified file 'storage/xtradb/srv/srv0start.c'
--- a/storage/xtradb/srv/srv0start.c	2009-03-26 06:11:11 +0000
+++ b/storage/xtradb/srv/srv0start.c	2009-06-09 15:08:46 +0000
@@ -124,7 +124,7 @@ static char*	srv_monitor_file_name;
 
 /* Avoid warnings when using purify */
 
-#ifdef HAVE_purify
+#ifdef HAVE_valgrind
 static int inno_bcmp(register const char *s1, register const char *s2,
 	register uint len)
 {




Follow ups