From: Martin Zaun Date: February 22 2011 3:29am Subject: bzr commit into mysql-5.1-telco-7.0 branch (martin.zaun:4214) List-Archive: http://lists.mysql.com/commits/131826 Message-Id: <201102220331.p1M1hlRC020423@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7586717867066166784==" --===============7586717867066166784== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/mz/mysql/ndb-7.0/ based on revid:jonas@stripped 4214 Martin Zaun 2011-02-21 [merge] merge from ndb-6.3 to ndb-7.0 added: mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test renamed: mysql-test/suite/ndb/r/ndb_blob_restore.result => mysql-test/suite/ndb/r/ndb_restore_schema_blobs.result mysql-test/suite/ndb/r/ndb_restore.result => mysql-test/suite/ndb/r/ndb_restore_misc.result mysql-test/suite/ndb/r/ndb_restore_compat.result => mysql-test/suite/ndb/r/ndb_restore_compat_downward.result mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result => mysql-test/suite/ndb/r/ndb_restore_compat_endianness.result mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result => mysql-test/suite/ndb/r/ndb_restore_conv_lossy_charbinary.result mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result => mysql-test/suite/ndb/r/ndb_restore_conv_lossy_integral.result mysql-test/suite/ndb/r/ndb_restore_options.result => mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result => mysql-test/suite/ndb/r/ndb_restore_conv_padding.result mysql-test/suite/ndb/r/ndb_restore_partition.result => mysql-test/suite/ndb/r/ndb_restore_schema_partitions.result mysql-test/suite/ndb/r/ndb_restore_promotion.result => mysql-test/suite/ndb/r/ndb_restore_conv_promotion.result mysql-test/suite/ndb/r/ndb_restore_rewrite_db.result => mysql-test/suite/ndb/r/ndb_restore_schema_rewrites.result mysql-test/suite/ndb/t/ndb_blob_restore.test => mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test mysql-test/suite/ndb/t/ndb_restore.test => mysql-test/suite/ndb/t/ndb_restore_misc.test mysql-test/suite/ndb/t/ndb_restore_compat.test => mysql-test/suite/ndb/t/ndb_restore_compat_downward.test mysql-test/suite/ndb/t/ndb_restore_compressed-master.opt => mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt mysql-test/suite/ndb/t/ndb_restore_compressed.test => mysql-test/suite/ndb/t/ndb_restore_compat_compression.test mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test => mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test => mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test => mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test mysql-test/suite/ndb/t/ndb_restore_options.test => mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test => mysql-test/suite/ndb/t/ndb_restore_conv_padding.test mysql-test/suite/ndb/t/ndb_restore_partition.test => mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test mysql-test/suite/ndb/t/ndb_restore_promotion.test => mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test mysql-test/suite/ndb/t/ndb_restore_rewrite_db.test => mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test modified: mysql-test/suite/ndb/t/ndb_restore_print.test mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test mysql-test/suite/ndb/t/ndb_restore_misc.test mysql-test/suite/ndb/t/ndb_restore_compat_downward.test mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt mysql-test/suite/ndb/t/ndb_restore_compat_compression.test mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test mysql-test/suite/ndb/t/ndb_restore_conv_padding.test mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test === renamed file 'mysql-test/suite/ndb/r/ndb_restore_compat.result' => 'mysql-test/suite/ndb/r/ndb_restore_compat_downward.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result' => 'mysql-test/suite/ndb/r/ndb_restore_compat_endianness.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_lossy_charbinary.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_lossy_integral.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_padding.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_promotion.result' => 'mysql-test/suite/ndb/r/ndb_restore_conv_promotion.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore.result' => 'mysql-test/suite/ndb/r/ndb_restore_misc.result' === renamed file 'mysql-test/suite/ndb/r/ndb_blob_restore.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_blobs.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_partition.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_partitions.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_rewrite_db.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_rewrites.result' === renamed file 'mysql-test/suite/ndb/r/ndb_restore_options.result' => 'mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result' --- a/mysql-test/suite/ndb/r/ndb_restore_options.result 2010-06-11 20:30:56 +0000 +++ b/mysql-test/suite/ndb/r/ndb_restore_schema_subsets.result 2011-02-22 03:29:24 +0000 @@ -510,181 +510,3 @@ tab2 drop table db2.tab1, db2.tab2; drop database db1; drop database db2; -Test ndb_restore ability to ignore some schema differences -use test; -create table t1 ( -a int, -b int, -c int, -d int, -e varchar(200), -f int, -g char(20), -h text, -i int, -primary key(a,b)) TABLESPACE ts1 engine = ndb; -insert into t1 values -(1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), -(2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), -(3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), -(4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), -(5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -Backing up data -drop table t1; -Normal restore -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL DEFAULT '0', - `b` int(11) NOT NULL DEFAULT '0', - `c` int(11) DEFAULT NULL, - `d` int(11) DEFAULT NULL, - `e` varchar(200) DEFAULT NULL, - `f` int(11) DEFAULT NULL, - `g` char(20) DEFAULT NULL, - `h` text, - `i` int(11) DEFAULT NULL, - PRIMARY KEY (`a`,`b`) -) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -truncate t1; -Column name change, should fail without --exclude-missing-columns -alter table t1 change c cc int; -Retry with --exclude-missing-columns -select * from t1 order by a; -a b cc d e f g h i -1 1 NULL 1 1 1 Rankin Rebus 1 -2 2 NULL 2 2 2 Doyle Holmes 2 -3 3 NULL 3 3 3 Burns Mouse 3 -4 4 NULL 4 4 4 Gibbon Chris 4 -5 5 NULL 5 5 5 Gray Lanark 5 -truncate t1; -Column type change, should fail -alter table t1 change cc c bigint; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL DEFAULT '0', - `b` int(11) NOT NULL DEFAULT '0', - `c` bigint(20) DEFAULT NULL, - `d` int(11) DEFAULT NULL, - `e` varchar(200) DEFAULT NULL, - `f` int(11) DEFAULT NULL, - `g` char(20) DEFAULT NULL, - `h` text, - `i` int(11) DEFAULT NULL, - PRIMARY KEY (`a`,`b`) -) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 -Retry with --promote-attribute -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -truncate t1; -Column nullability change, should fail -alter table t1 change c c int not null; -alter table t1 change c c int; -Column length change, should fail -alter table t1 change g g char(22); -Character set difference, should fail -alter table t1 change g g char(20) character set binary; -alter table t1 change g g char(20); -AutoIncrement difference, should fail -alter table t1 change b b int auto_increment; -Default difference, should pass -alter table t1 change b b int default 22; -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -truncate t1; -alter table t1 change b b int; -ArrayType difference, should fail -alter table t1 change e e varchar(300); -alter table t1 change e e varchar(200); -StorageType difference, should pass -CREATE LOGFILE GROUP lg1 -ADD UNDOFILE 'undofile.dat' -INITIAL_SIZE 16M -UNDO_BUFFER_SIZE = 1M -ENGINE=NDB; -CREATE TABLESPACE ts1 -ADD DATAFILE 'datafile.dat' -USE LOGFILE GROUP lg1 -INITIAL_SIZE 12M -ENGINE NDB; -alter table t1 change i i int storage disk; -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -alter table t1 change i i int storage memory; -truncate t1; -Dynamic property difference, should pass -alter table t1 change c c int column_format dynamic; -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -drop table t1; -alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; -drop tablespace ts1 engine=ndb; -drop logfile group lg1 engine=ndb; -Different PK columns, should fail -create table t1 ( -a int, -b int, -c int, -d int, -e varchar(200), -f int, -g char(20), -h text, -i int, -primary key (a)) TABLESPACE ts1 engine = ndb; -drop table t1; -Different distribution keys, should pass -create table t1 ( -a int, -b int, -c int, -d int, -e varchar(200), -f int, -g char(20), -h text, -i int, -primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); -select * from t1 order by a; -a b c d e f g h i -1 1 1 1 1 1 Rankin Rebus 1 -2 2 2 2 2 2 Doyle Holmes 2 -3 3 3 3 3 3 Burns Mouse 3 -4 4 4 4 4 4 Gibbon Chris 4 -5 5 5 5 5 5 Gray Lanark 5 -drop table t1; === added file 'mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result' --- a/mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/r/ndb_restore_schema_tolerance.result 2011-02-22 03:29:24 +0000 @@ -0,0 +1,178 @@ +Test ndb_restore ability to ignore some schema differences +use test; +create table t1 ( +a int, +b int, +c int, +d int, +e varchar(200), +f int, +g char(20), +h text, +i int, +primary key(a,b)) TABLESPACE ts1 engine = ndb; +insert into t1 values +(1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), +(2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), +(3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), +(4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), +(5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +Backing up data +drop table t1; +Normal restore +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL DEFAULT '0', + `b` int(11) NOT NULL DEFAULT '0', + `c` int(11) DEFAULT NULL, + `d` int(11) DEFAULT NULL, + `e` varchar(200) DEFAULT NULL, + `f` int(11) DEFAULT NULL, + `g` char(20) DEFAULT NULL, + `h` text, + `i` int(11) DEFAULT NULL, + PRIMARY KEY (`a`,`b`) +) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +truncate t1; +Column name change, should fail without --exclude-missing-columns +alter table t1 change c cc int; +Retry with --exclude-missing-columns +select * from t1 order by a; +a b cc d e f g h i +1 1 NULL 1 1 1 Rankin Rebus 1 +2 2 NULL 2 2 2 Doyle Holmes 2 +3 3 NULL 3 3 3 Burns Mouse 3 +4 4 NULL 4 4 4 Gibbon Chris 4 +5 5 NULL 5 5 5 Gray Lanark 5 +truncate t1; +Column type change, should fail +alter table t1 change cc c bigint; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL DEFAULT '0', + `b` int(11) NOT NULL DEFAULT '0', + `c` bigint(20) DEFAULT NULL, + `d` int(11) DEFAULT NULL, + `e` varchar(200) DEFAULT NULL, + `f` int(11) DEFAULT NULL, + `g` char(20) DEFAULT NULL, + `h` text, + `i` int(11) DEFAULT NULL, + PRIMARY KEY (`a`,`b`) +) /*!50100 TABLESPACE ts1 */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 +Retry with --promote-attribute +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +truncate t1; +Column nullability change, should fail +alter table t1 change c c int not null; +alter table t1 change c c int; +Column length change, should fail +alter table t1 change g g char(22); +Character set difference, should fail +alter table t1 change g g char(20) character set binary; +alter table t1 change g g char(20); +AutoIncrement difference, should fail +alter table t1 change b b int auto_increment; +Default difference, should pass +alter table t1 change b b int default 22; +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +truncate t1; +alter table t1 change b b int; +ArrayType difference, should fail +alter table t1 change e e varchar(300); +alter table t1 change e e varchar(200); +StorageType difference, should pass +CREATE LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile.dat' +INITIAL_SIZE 16M +UNDO_BUFFER_SIZE = 1M +ENGINE=NDB; +CREATE TABLESPACE ts1 +ADD DATAFILE 'datafile.dat' +USE LOGFILE GROUP lg1 +INITIAL_SIZE 12M +ENGINE NDB; +alter table t1 change i i int storage disk; +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +alter table t1 change i i int storage memory; +truncate t1; +Dynamic property difference, should pass +alter table t1 change c c int column_format dynamic; +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +drop table t1; +alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; +drop tablespace ts1 engine=ndb; +drop logfile group lg1 engine=ndb; +Different PK columns, should fail +create table t1 ( +a int, +b int, +c int, +d int, +e varchar(200), +f int, +g char(20), +h text, +i int, +primary key (a)) TABLESPACE ts1 engine = ndb; +drop table t1; +Different distribution keys, should pass +create table t1 ( +a int, +b int, +c int, +d int, +e varchar(200), +f int, +g char(20), +h text, +i int, +primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); +select * from t1 order by a; +a b c d e f g h i +1 1 1 1 1 1 Rankin Rebus 1 +2 2 2 2 2 2 Doyle Holmes 2 +3 3 3 3 3 3 Burns Mouse 3 +4 4 4 4 4 4 Gibbon Chris 4 +5 5 5 5 5 5 Gray Lanark 5 +drop table t1; === renamed file 'mysql-test/suite/ndb/t/ndb_restore_compressed-master.opt' => 'mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt' --- a/mysql-test/suite/ndb/t/ndb_restore_compressed-master.opt 2009-04-09 15:27:21 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_compression-master.opt 2011-02-22 01:15:42 +0000 @@ -1 +1 @@ ---result-file=../suite/ndb/r/ndb_restore +--result-file=../suite/ndb/r/ndb_restore_misc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_compressed.test' => 'mysql-test/suite/ndb/t/ndb_restore_compat_compression.test' --- a/mysql-test/suite/ndb/t/ndb_restore_compressed.test 2009-10-06 12:03:16 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_compression.test 2011-02-22 03:29:24 +0000 @@ -1,8 +1,12 @@ -# Turn on compressed backup with magic DUMP command +###################################################################### +# Test restoring compressed backups +###################################################################### + +# turn on compressed backup with magic DUMP command --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all dump 13001 1" >> $NDB_TOOLS_OUTPUT -# Run the ndb_restore test, should produce exactly the same output -source ndb_restore.test; +# run the ndb_restore test, should produce exactly the same output +source ndb_restore_misc.test; -# Turn off compressed backups +# turn off compressed backups --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all dump 13001 0" >> $NDB_TOOLS_OUTPUT === renamed file 'mysql-test/suite/ndb/t/ndb_restore_compat.test' => 'mysql-test/suite/ndb/t/ndb_restore_compat_downward.test' --- a/mysql-test/suite/ndb/t/ndb_restore_compat.test 2010-12-03 09:36:45 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_downward.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups of older/packed formats +###################################################################### + -- source include/have_ndb.inc -- source include/have_case_sensitive_file_system.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test' => 'mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test' --- a/mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test 2010-10-25 09:15:03 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_compat_endianness.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups of different endianness +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test' --- a/mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test 2010-10-23 06:46:02 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_lossy_charbinary.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2010-10 -# Purpose: Lossy conversion test for [var]char and [var]binary types +# Test restoring backups with lossy conversions on [var]char|binary types ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test' --- a/mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test 2010-10-23 06:46:02 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2010-10 -# Purpose: Lossy conversion test for integral types +# Test restoring backups with lossy conversions on integral types ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_padding.test' --- a/mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test 2010-10-23 06:46:02 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_padding.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2010-10 -# Purpose: Right-padding preservation test for char and binary types +# Test restoring backups with preserving padding in char/bin conversions ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_promotion.test' => 'mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test' --- a/mysql-test/suite/ndb/t/ndb_restore_promotion.test 2010-04-29 14:52:05 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test 2011-02-22 03:29:24 +0000 @@ -1,8 +1,6 @@ -############################################################# -# Author: Guangbao -# Date: 2007-11 -# Purpose: Basic Integer,Char and Binary type promotion test -############################################################## +###################################################################### +# Test restoring backups with widening type conversions (promotion) +###################################################################### -- source include/have_ndb.inc -- source include/not_embedded.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore.test' => 'mysql-test/suite/ndb/t/ndb_restore_misc.test' --- a/mysql-test/suite/ndb/t/ndb_restore.test 2011-01-21 10:29:46 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_misc.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test various issues ndb_restore had at some time +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === modified file 'mysql-test/suite/ndb/t/ndb_restore_print.test' --- a/mysql-test/suite/ndb/t/ndb_restore_print.test 2009-04-08 13:19:57 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_print.test 2011-02-22 01:15:42 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test ndb_restore's print_data feature +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_blob_restore.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test' --- a/mysql-test/suite/ndb/t/ndb_blob_restore.test 2008-12-22 11:10:00 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups with blob columns +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_partition.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test' --- a/mysql-test/suite/ndb/t/ndb_restore_partition.test 2009-10-09 15:08:04 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_partitions.test 2011-02-22 03:29:24 +0000 @@ -1,3 +1,7 @@ +###################################################################### +# Test restoring backups into partitioned tables +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_rewrite_db.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test' --- a/mysql-test/suite/ndb/t/ndb_restore_rewrite_db.test 2011-02-02 10:17:58 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_rewrites.test 2011-02-22 03:29:24 +0000 @@ -1,7 +1,5 @@ ###################################################################### -# Author: Martin Zaun -# Date: 2011-01 -# Purpose: test of rewrite-database feature +# Test restoring backups into renamed databases ###################################################################### -- source include/have_ndb.inc === renamed file 'mysql-test/suite/ndb/t/ndb_restore_options.test' => 'mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test' --- a/mysql-test/suite/ndb/t/ndb_restore_options.test 2010-06-11 20:30:56 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_subsets.test 2011-02-22 03:29:24 +0000 @@ -1,8 +1,10 @@ +###################################################################### +# Test restoring backups with in- or excluding tables or databases +###################################################################### + -- source include/have_ndb.inc -- source include/ndb_default_cluster.inc -# Bug#40429 Ignore tables when restoring - --echo ************************************* --echo Creating various databases and tables --echo ************************************* @@ -346,206 +348,3 @@ drop table db2.tab1, db2.tab2; drop database db1; drop database db2; - -# End of bug 40429 - - ---echo Test ndb_restore ability to ignore some schema differences - -use test; -create table t1 ( - a int, - b int, - c int, - d int, - e varchar(200), - f int, - g char(20), - h text, - i int, - primary key(a,b)) TABLESPACE ts1 engine = ndb; - -insert into t1 values - (1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), - (2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), - (3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), - (4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), - (5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); - -select * from t1 order by a; - ---echo Backing up data ---source include/ndb_backup.inc - -drop table t1; - ---echo Normal restore ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r -m $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -show create table t1; - -select * from t1 order by a; - -truncate t1; - ---echo Column name change, should fail without --exclude-missing-columns - -alter table t1 change c cc int; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Retry with --exclude-missing-columns - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; -truncate t1; - ---echo Column type change, should fail - -alter table t1 change cc c bigint; -show create table t1; #REMOVE! ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Retry with --promote-attribute - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; -truncate t1; - ---echo Column nullability change, should fail - -alter table t1 change c c int not null; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -alter table t1 change c c int; - -# Skip Precision and scale differences - should fail - ---echo Column length change, should fail - -alter table t1 change g g char(22); - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Character set difference, should fail - -alter table t1 change g g char(20) character set binary; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -alter table t1 change g g char(20); - ---echo AutoIncrement difference, should fail - -alter table t1 change b b int auto_increment; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---echo Default difference, should pass -alter table t1 change b b int default 22; - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; -truncate t1; - -alter table t1 change b b int; - ---echo ArrayType difference, should fail -alter table t1 change e e varchar(300); - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -alter table t1 change e e varchar(200); - ---echo StorageType difference, should pass -CREATE LOGFILE GROUP lg1 -ADD UNDOFILE 'undofile.dat' -INITIAL_SIZE 16M -UNDO_BUFFER_SIZE = 1M -ENGINE=NDB; - -CREATE TABLESPACE ts1 -ADD DATAFILE 'datafile.dat' -USE LOGFILE GROUP lg1 -INITIAL_SIZE 12M -ENGINE NDB; - -alter table t1 change i i int storage disk; - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; - -alter table t1 change i i int storage memory; -truncate t1; - -# Skip BlobType difference (should fail) - ---echo Dynamic property difference, should pass - -alter table t1 change c c int column_format dynamic; - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; - -drop table t1; -alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; -drop tablespace ts1 engine=ndb; -drop logfile group lg1 engine=ndb; - ---echo Different PK columns, should fail -create table t1 ( - a int, - b int, - c int, - d int, - e varchar(200), - f int, - g char(20), - h text, - i int, - primary key (a)) TABLESPACE ts1 engine = ndb; - ---error 1 ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -drop table t1; - ---echo Different distribution keys, should pass - -create table t1 ( - a int, - b int, - c int, - d int, - e varchar(200), - f int, - g char(20), - h text, - i int, - primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); - ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT ---exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - -select * from t1 order by a; - -drop table t1; === added file 'mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test' --- a/mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_schema_tolerance.test 2011-02-22 03:29:24 +0000 @@ -0,0 +1,206 @@ +###################################################################### +# Test restoring backups into similar schemas +###################################################################### + +-- source include/have_ndb.inc +-- source include/ndb_default_cluster.inc + +--echo Test ndb_restore ability to ignore some schema differences + +use test; +create table t1 ( + a int, + b int, + c int, + d int, + e varchar(200), + f int, + g char(20), + h text, + i int, + primary key(a,b)) TABLESPACE ts1 engine = ndb; + +insert into t1 values + (1, 1, 1, 1, '1', 1, 'Rankin', 'Rebus', 1), + (2, 2, 2, 2, '2', 2, 'Doyle', 'Holmes', 2), + (3, 3, 3, 3, '3', 3, 'Burns', 'Mouse', 3), + (4, 4, 4, 4, '4', 4, 'Gibbon', 'Chris', 4), + (5, 5, 5, 5, '5', 5, 'Gray', 'Lanark', 5); + +select * from t1 order by a; + +--echo Backing up data +--source include/ndb_backup.inc + +drop table t1; + +--echo Normal restore +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r -m $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +show create table t1; + +select * from t1 order by a; + +truncate t1; + +--echo Column name change, should fail without --exclude-missing-columns + +alter table t1 change c cc int; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Retry with --exclude-missing-columns + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --exclude-missing-columns $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; +truncate t1; + +--echo Column type change, should fail + +alter table t1 change cc c bigint; +show create table t1; #REMOVE! +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Retry with --promote-attribute + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r --promote-attribute $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; +truncate t1; + +--echo Column nullability change, should fail + +alter table t1 change c c int not null; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +alter table t1 change c c int; + +# Skip Precision and scale differences - should fail + +--echo Column length change, should fail + +alter table t1 change g g char(22); + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Character set difference, should fail + +alter table t1 change g g char(20) character set binary; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +alter table t1 change g g char(20); + +--echo AutoIncrement difference, should fail + +alter table t1 change b b int auto_increment; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--echo Default difference, should pass +alter table t1 change b b int default 22; + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; +truncate t1; + +alter table t1 change b b int; + +--echo ArrayType difference, should fail +alter table t1 change e e varchar(300); + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +alter table t1 change e e varchar(200); + +--echo StorageType difference, should pass +CREATE LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile.dat' +INITIAL_SIZE 16M +UNDO_BUFFER_SIZE = 1M +ENGINE=NDB; + +CREATE TABLESPACE ts1 +ADD DATAFILE 'datafile.dat' +USE LOGFILE GROUP lg1 +INITIAL_SIZE 12M +ENGINE NDB; + +alter table t1 change i i int storage disk; + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; + +alter table t1 change i i int storage memory; +truncate t1; + +# Skip BlobType difference (should fail) + +--echo Dynamic property difference, should pass + +alter table t1 change c c int column_format dynamic; + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; + +drop table t1; +alter tablespace ts1 drop datafile 'datafile.dat' engine=ndb; +drop tablespace ts1 engine=ndb; +drop logfile group lg1 engine=ndb; + +--echo Different PK columns, should fail +create table t1 ( + a int, + b int, + c int, + d int, + e varchar(200), + f int, + g char(20), + h text, + i int, + primary key (a)) TABLESPACE ts1 engine = ndb; + +--error 1 +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +drop table t1; + +--echo Different distribution keys, should pass + +create table t1 ( + a int, + b int, + c int, + d int, + e varchar(200), + f int, + g char(20), + h text, + i int, + primary key(a,b)) TABLESPACE ts1 engine = ndb partition by key(a); + +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 1 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $NDB_RESTORE --no-defaults --core-file=false -b $the_backup_id -n 2 -r $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +select * from t1 order by a; + +drop table t1; --===============7586717867066166784== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/martin.zaun@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: martin.zaun@stripped # target_branch: file:///Users/mz/mysql/ndb-7.0/ # testament_sha1: 04a229522fc06ced5f492b96c8b570bc4143fb6f # timestamp: 2011-02-21 19:29:58 -0800 # source_branch: file:///Users/mz/mysql/ndb-6.3/ # base_revision_id: jonas@stripped # # Begin bundle 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 --===============7586717867066166784==--