From: Martin Zaun Date: October 22 2010 5:47am Subject: bzr commit into mysql-5.1-telco-6.3 branch (martin.zaun:3319) List-Archive: http://lists.mysql.com/commits/121616 Message-Id: <201010220548.o9M5m2aB002572@rcsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0886295175==" --===============0886295175== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/mz/mysql/ndb-6.3-wl5421/ based on revid:martin.zaun@stripped 3319 Martin Zaun 2010-10-21 [merge] wl5421: mtr tests for ndb_restore with type demotion. added: mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test === added file 'mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result' --- a/mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/r/ndb_restore_lossy_charbinary_conv.result 2010-10-22 05:47:04 +0000 @@ -0,0 +1,373 @@ +************************************************************ +* Creating table with char+binary types +************************************************************ +CREATE TABLE t2( +c1 char(2), c2 char(128), c3 char(255), +b1 binary(2), b2 binary(128), b3 binary(255), +vc1 varchar(2), vc2 varchar(255), vc3 varchar(1024), +vb1 varbinary(2), vb2 varbinary(255), vb3 varbinary(1024) +) ENGINE=NDB; +INSERT INTO t2 VALUES( +repeat('a', 2), repeat('b', 128), repeat('c', 255), +repeat('d', 2), repeat('e', 128), repeat('f', 255), +repeat('g', 2), repeat('h', 255), repeat('i', 1024), +repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +************************************************************ +* Backing up table with char+binary types +************************************************************ +************************************************************ +* Restoring table with unchanged char+binary types: +* char(2) --> char(2) +* char(128) --> char(128) +* char(255) --> char(255) +* binary(2) --> binary(2) +* binary(128) --> binary(128) +* binary(255) --> binary(255) +* varchar(2) --> varchar(2) +* varchar(255) --> varchar(255) +* varchar(1024) --> varchar(1024) +* varbinary(2) --> varbinary(2) +* varbinary(255) --> varbinary(255) +* varbinary(1024) --> varbinary(1024) +************************************************************ +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +2 128 255 2 128 128 2 255 1024 2 255 1024 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Restoring table with 1st degree demoted char+binary types: +* char(2) --> char(1) +* char(128) --> char(2) +* char(255) --> char(128) +* binary(2) --> binary(1) +* binary(128) --> binary(2) +* binary(255) --> binary(128) +* varchar(2) --> varchar(1) +* varchar(255) --> varchar(2) +* varchar(1024) --> varchar(512) +* varbinary(2) --> varbinary(1) +* varbinary(255) --> varbinary(2) +* varbinary(1024) --> varbinary(512) +************************************************************ +ALTER TABLE t2 +modify c1 char(1), modify c2 char(2), modify c3 char(128), +modify b1 binary(1), modify b2 binary(2), modify b3 binary(128), +modify vc1 varchar(1), modify vc2 varchar(2), modify vc3 varchar(512), +modify vb1 varbinary(1), modify vb2 varbinary(2), modify vb3 varbinary(512); +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 2 128 1 2 2 1 2 512 1 2 512 +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 2 128 1 2 2 1 2 512 1 2 512 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Restoring table with 2nd degree demoted char+binary types: +* char(2) --> char(1) +* char(128) --> char(1) +* char(255) --> char(2) +* binary(2) --> binary(1) +* binary(128) --> binary(1) +* binary(255) --> binary(2) +* varchar(2) --> varchar(1) +* varchar(255) --> varchar(1) +* varchar(1024) --> varchar(255) +* varbinary(2) --> varbinary(1) +* varbinary(255) --> varbinary(1) +* varbinary(1024) --> varbinary(255) +************************************************************ +ALTER TABLE t2 +modify c1 char(1), modify c2 char(1), modify c3 char(2), +modify b1 binary(1), modify b2 binary(1), modify b3 binary(2), +modify vc1 varchar(1), modify vc2 varchar(1), modify vc3 varchar(255), +modify vb1 varbinary(1), modify vb2 varbinary(1), modify vb3 varbinary(255); +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 2 1 1 1 1 1 255 1 1 255 +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 2 1 1 1 1 1 255 1 1 255 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Restoring table with 3rd degree demoted char+binary types: +* char(2) --> char(1) +* char(128) --> char(1) +* char(255) --> char(1) +* binary(2) --> binary(1) +* binary(128) --> binary(1) +* binary(255) --> binary(1) +* varchar(2) --> varchar(1) +* varchar(255) --> varchar(1) +* varchar(1024) --> varchar(1) +* varbinary(2) --> varbinary(1) +* varbinary(255) --> varbinary(1) +* varbinary(1024) --> varbinary(1) +************************************************************ +ALTER TABLE t2 +modify c1 char(1), modify c2 char(1), modify c3 char(1), +modify b1 binary(1), modify b2 binary(1), modify b3 binary(1), +modify vc1 varchar(1), modify vc2 varchar(1), modify vc3 varchar(1), +modify vb1 varbinary(1), modify vb2 varbinary(1), modify vb3 varbinary(1); +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 1 1 1 1 1 1 1 1 1 1 +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 1 1 1 1 1 1 1 1 1 1 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Restoring table with changed var-ness of char+binary types: +* char(2) --> varchar(2) +* char(128) --> varchar(128) +* char(255) --> varchar(255) +* binary(2) --> varbinary(2) +* binary(128) --> varbinary(128) +* binary(255) --> varbinary(255) +* varchar(2) --> char(2) +* varchar(255) --> char(255) +* varchar(1024) --> varchar(1024) +* varbinary(2) --> binary(2) +* varbinary(255) --> binary(255) +* varbinary(1024) --> varbinary(1024) +************************************************************ +DELETE FROM t2; +ALTER TABLE t2 +modify c1 varchar(2), modify c2 varchar(128), modify c3 varchar(255), +modify b1 varbinary(2), modify b2 varbinary(128), modify b3 varbinary(255), +modify vc1 char(2), modify vc2 char(255), modify vc3 varchar(1024), +modify vb1 binary(2), modify vb2 binary(255), modify vb3 varbinary(1024); +INSERT INTO t2 VALUES( +repeat('a', 2), repeat('b', 128), repeat('c', 255), +repeat('d', 2), repeat('e', 128), repeat('f', 255), +repeat('g', 2), repeat('h', 255), repeat('i', 1024), +repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +2 128 255 2 128 128 2 255 1024 2 255 1024 +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +2 128 255 2 128 128 2 255 1024 2 255 1024 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Restoring table with changed varness + 1st degree demoted types: +* char(2) --> varchar(1) +* char(128) --> varchar(2) +* char(255) --> varchar(128) +* binary(2) --> varbinary(1) +* binary(128) --> varbinary(2) +* binary(255) --> varbinary(128) +* varchar(2) --> char(1) +* varchar(255) --> char(2) +* varchar(1024) --> char(255) +* varbinary(2) --> binary(1) +* varbinary(255) --> binary(2) +* varbinary(1024) --> binary(255) +************************************************************ +DELETE FROM t2; +ALTER TABLE t2 +modify c1 varchar(1), modify c2 varchar(2), modify c3 varchar(128), +modify b1 varbinary(1), modify b2 varbinary(2), modify b3 varbinary(128), +modify vc1 char(1), modify vc2 char(2), modify vc3 char(255), +modify vb1 binary(1), modify vb2 binary(2), modify vb3 binary(255); +INSERT INTO t2 VALUES( +repeat('a', 2), repeat('b', 128), repeat('c', 255), +repeat('d', 2), repeat('e', 128), repeat('f', 255), +repeat('g', 2), repeat('h', 255), repeat('i', 1024), +repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 2 128 1 2 2 1 2 255 1 2 255 +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 2 128 1 2 2 1 2 255 1 2 255 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Restoring table with changed varness + 2nd degree demoted types: +* char(2) --> varchar(1) +* char(128) --> varchar(1) +* char(255) --> varchar(2) +* binary(2) --> varbinary(1) +* binary(128) --> varbinary(1) +* binary(255) --> varbinary(2) +* varchar(2) --> char(1) +* varchar(255) --> char(1) +* varchar(1024) --> char(255) +* varbinary(2) --> binary(1) +* varbinary(255) --> binary(1) +* varbinary(1024) --> binary(255) +************************************************************ +DELETE FROM t2; +ALTER TABLE t2 +modify c1 varchar(1), modify c2 varchar(1), modify c3 varchar(2), +modify b1 varbinary(1), modify b2 varbinary(1), modify b3 varbinary(2), +modify vc1 char(1), modify vc2 char(1), modify vc3 char(255), +modify vb1 binary(1), modify vb2 binary(1), modify vb3 binary(255); +INSERT INTO t2 VALUES( +repeat('a', 2), repeat('b', 128), repeat('c', 255), +repeat('d', 2), repeat('e', 128), repeat('f', 255), +repeat('g', 2), repeat('h', 255), repeat('i', 1024), +repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 2 1 1 1 1 1 255 1 1 255 +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 2 1 1 1 1 1 255 1 1 255 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Restoring table with changed varness + 3rd degree demoted types: +* char(2) --> varchar(1) +* char(128) --> varchar(1) +* char(255) --> varchar(1) +* binary(2) --> varbinary(1) +* binary(128) --> varbinary(1) +* binary(255) --> varbinary(1) +* varchar(2) --> char(1) +* varchar(255) --> char(1) +* varchar(1024) --> char(1) +* varbinary(2) --> binary(1) +* varbinary(255) --> binary(1) +* varbinary(1024) --> binary(1) +************************************************************ +DELETE FROM t2; +ALTER TABLE t2 +modify c1 varchar(1), modify c2 varchar(1), modify c3 varchar(1), +modify b1 varbinary(1), modify b2 varbinary(1), modify b3 varbinary(1), +modify vc1 char(1), modify vc2 char(1), modify vc3 char(1), +modify vb1 binary(1), modify vb2 binary(1), modify vb3 binary(1); +INSERT INTO t2 VALUES( +repeat('a', 2), repeat('b', 128), repeat('c', 255), +repeat('d', 2), repeat('e', 128), repeat('f', 255), +repeat('g', 2), repeat('h', 255), repeat('i', 1024), +repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 1 1 1 1 1 1 1 1 1 1 +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; +DELETE FROM t2; +SELECT +length(c1), length(c2), length(c3), +length(b1), length(b2), length(b2), +length(vc1), length(vc2), length(vc3), +length(vb1), length(vb2), length(vb3) +FROM t2; +length(c1) length(c2) length(c3) length(b1) length(b2) length(b2) length(vc1) length(vc2) length(vc3) length(vb1) length(vb2) length(vb3) +1 1 1 1 1 1 1 1 1 1 1 1 +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +COUNT(*) +1 +DROP TABLE t2_myisam; +************************************************************ +* Deleting table with char+binary types +************************************************************ +DROP TABLE t2; === added file 'mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result' --- a/mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/r/ndb_restore_lossy_integral_conv.result 2010-10-22 05:47:04 +0000 @@ -0,0 +1,451 @@ +************************************************************ +* Creating table with integral types +************************************************************ +CREATE TABLE t1( +t1 tinyint, t2 tinyint, ut1 tinyint unsigned, +s1 smallint, s2 smallint, us1 smallint unsigned, +m1 mediumint, m2 mediumint, um1 mediumint unsigned, +i1 int, i2 int, ui1 int unsigned, +b1 bigint, b2 bigint, ub1 bigint unsigned +) ENGINE=NDB; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +************************************************************ +* Backing up table with integral types +************************************************************ +************************************************************ +* Restoring table with unchanged integral types: +* tinyint[unsigned] --> tinyint[unsigned] +* smallint[unsigned] --> smallint[unsigned] +* mediumint[unsigned] --> mediumint[unsigned] +* int[unsigned] --> int[unsigned] +* bigint[unsigned] --> bigint[unsigned] +************************************************************ +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -32768 32767 65535 -8388608 8388607 16777215 -2147483648 2147483647 4294967295 -9223372036854775808 9223372036854775807 18446744073709551615 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with 1st degree demoted integral types: +* tinyint[unsigned] --> tinyint[unsigned] +* smallint[unsigned] --> tinyint[unsigned] +* mediumint[unsigned] --> smallint[unsigned] +* int[unsigned] --> mediumint[unsigned] +* bigint[unsigned] --> int[unsigned] +************************************************************ +ALTER TABLE t1 +modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, +modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, +modify m1 smallint, modify m2 smallint, modify um1 smallint unsigned, +modify i1 mediumint, modify i2 mediumint, modify ui1 mediumint unsigned, +modify b1 int, modify b2 int, modify ub1 int unsigned; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -32768 32767 65535 -8388608 8388607 16777215 -2147483648 2147483647 4294967295 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -32768 32767 65535 -8388608 8388607 16777215 -2147483648 2147483647 4294967295 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with 2nd degree demoted integral types: +* tinyint[unsigned] --> tinyint[unsigned] +* smallint[unsigned] --> tinyint[unsigned] +* mediumint[unsigned] --> tinyint[unsigned] +* int[unsigned] --> smallint[unsigned] +* bigint[unsigned] --> mediumint[unsigned] +************************************************************ +ALTER TABLE t1 +modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, +modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, +modify m1 tinyint, modify m2 tinyint, modify um1 tinyint unsigned, +modify i1 smallint, modify i2 smallint, modify ui1 smallint unsigned, +modify b1 mediumint, modify b2 mediumint, modify ub1 mediumint unsigned; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -128 127 255 -32768 32767 65535 -8388608 8388607 16777215 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -128 127 255 -32768 32767 65535 -8388608 8388607 16777215 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with 3rd degree demoted integral types: +* tinyint[unsigned] --> tinyint[unsigned] +* smallint[unsigned] --> tinyint[unsigned] +* mediumint[unsigned] --> tinyint[unsigned] +* int[unsigned] --> tinyint[unsigned] +* bigint[unsigned] --> smallint[unsigned] +************************************************************ +ALTER TABLE t1 +modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, +modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, +modify m1 tinyint, modify m2 tinyint, modify um1 tinyint unsigned, +modify i1 tinyint, modify i2 tinyint, modify ui1 tinyint unsigned, +modify b1 smallint, modify b2 smallint, modify ub1 smallint unsigned; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -128 127 255 -128 127 255 -32768 32767 65535 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -128 127 255 -128 127 255 -32768 32767 65535 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with 4th degree demoted integral types: +* tinyint[unsigned] --> tinyint[unsigned] +* smallint[unsigned] --> tinyint[unsigned] +* mediumint[unsigned] --> tinyint[unsigned] +* int[unsigned] --> tinyint[unsigned] +* bigint[unsigned] --> tinyint[unsigned] +************************************************************ +ALTER TABLE t1 +modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, +modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, +modify m1 tinyint, modify m2 tinyint, modify um1 tinyint unsigned, +modify i1 tinyint, modify i2 tinyint, modify ui1 tinyint unsigned, +modify b1 tinyint, modify b2 tinyint, modify ub1 tinyint unsigned; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -128 127 255 -128 127 255 -128 127 255 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +-128 127 255 -128 127 255 -128 127 255 -128 127 255 -128 127 255 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness: +* tinyint unsigned/signed --> tinyint signed/unsigned +* smallint unsigned/signed --> smallint signed/unsigned +* mediumint unsigned/signed --> mediumint signed/unsigned +* int unsigned/signed --> int signed/unsigned +* bigint unsigned/signed --> bigint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, +modify s1 smallint unsigned, modify s2 smallint unsigned, modify us1 smallint signed, +modify m1 mediumint unsigned, modify m2 mediumint unsigned, modify um1 mediumint signed, +modify i1 int unsigned, modify i2 int unsigned, modify ui1 int signed, +modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 32767 32767 0 8388607 8388607 0 2147483647 2147483647 0 9223372036854775807 9223372036854775807 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 32767 32767 0 8388607 8388607 0 2147483647 2147483647 0 9223372036854775807 9223372036854775807 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 1st degree promoted types: +* tinyint unsigned/signed --> smallint signed/unsigned +* smallint unsigned/signed --> mediumint signed/unsigned +* mediumint unsigned/signed --> int signed/unsigned +* int unsigned/signed --> bigint signed/unsigned +* bigint unsigned/signed --> bigint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 smallint unsigned, modify t2 smallint unsigned, modify ut1 smallint signed, +modify s1 mediumint unsigned, modify s2 mediumint unsigned, modify us1 mediumint signed, +modify m1 int unsigned, modify m2 int unsigned, modify um1 int signed, +modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, +modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 2nd degree promoted types: +* tinyint unsigned/signed --> mediumint signed/unsigned +* smallint unsigned/signed --> int signed/unsigned +* mediumint unsigned/signed --> bigint signed/unsigned +* int unsigned/signed --> bigint signed/unsigned +* bigint unsigned/signed --> bigint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 mediumint unsigned, modify t2 mediumint unsigned, modify ut1 mediumint signed, +modify s1 int unsigned, modify s2 int unsigned, modify us1 int signed, +modify m1 bigint unsigned, modify m2 bigint unsigned, modify um1 bigint signed, +modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, +modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 3rd degree promoted types: +* tinyint unsigned/signed --> int signed/unsigned +* smallint unsigned/signed --> bigint signed/unsigned +* mediumint unsigned/signed --> bigint signed/unsigned +* int unsigned/signed --> bigint signed/unsigned +* bigint unsigned/signed --> bigint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 int unsigned, modify t2 int unsigned, modify ut1 int signed, +modify s1 bigint unsigned, modify s2 bigint unsigned, modify us1 bigint signed, +modify m1 bigint unsigned, modify m2 bigint unsigned, modify um1 bigint signed, +modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, +modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 4th degree promoted types: +* tinyint unsigned/signed --> bigint signed/unsigned +* smallint unsigned/signed --> bigint signed/unsigned +* mediumint unsigned/signed --> bigint signed/unsigned +* int unsigned/signed --> bigint signed/unsigned +* bigint unsigned/signed --> bigint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 bigint unsigned, modify t2 bigint unsigned, modify ut1 bigint signed, +modify s1 bigint unsigned, modify s2 bigint unsigned, modify us1 bigint signed, +modify m1 bigint unsigned, modify m2 bigint unsigned, modify um1 bigint signed, +modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, +modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 255 0 32767 65535 0 8388607 16777215 0 2147483647 4294967295 0 9223372036854775807 9223372036854775807 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 1st degree demoted types: +* tinyint unsigned/signed --> tinyint signed/unsigned +* smallint unsigned/signed --> tinyint signed/unsigned +* mediumint unsigned/signed --> smallint signed/unsigned +* int unsigned/signed --> mediumint signed/unsigned +* bigint unsigned/signed --> int signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, +modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, +modify m1 smallint unsigned, modify m2 smallint unsigned, modify um1 smallint signed, +modify i1 mediumint unsigned, modify i2 mediumint unsigned, modify ui1 mediumint signed, +modify b1 int unsigned, modify b2 int unsigned, modify ub1 int signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 65535 32767 0 16777215 8388607 0 4294967295 2147483647 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 65535 32767 0 16777215 8388607 0 4294967295 2147483647 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 2nd degree demoted types: +* tinyint unsigned/signed --> tinyint signed/unsigned +* smallint unsigned/signed --> tinyint signed/unsigned +* mediumint unsigned/signed --> tinyint signed/unsigned +* int unsigned/signed --> smallint signed/unsigned +* bigint unsigned/signed --> mediumint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, +modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, +modify m1 tinyint unsigned, modify m2 tinyint unsigned, modify um1 tinyint signed, +modify i1 smallint unsigned, modify i2 smallint unsigned, modify ui1 smallint signed, +modify b1 mediumint unsigned, modify b2 mediumint unsigned, modify ub1 mediumint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 255 127 0 65535 32767 0 16777215 8388607 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 255 127 0 65535 32767 0 16777215 8388607 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 3rd degree demoted types: +* tinyint unsigned/signed --> tinyint signed/unsigned +* smallint unsigned/signed --> tinyint signed/unsigned +* mediumint unsigned/signed --> tinyint signed/unsigned +* int unsigned/signed --> tinyint signed/unsigned +* bigint unsigned/signed --> smallint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, +modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, +modify m1 tinyint unsigned, modify m2 tinyint unsigned, modify um1 tinyint signed, +modify i1 tinyint unsigned, modify i2 tinyint unsigned, modify ui1 tinyint signed, +modify b1 smallint unsigned, modify b2 smallint unsigned, modify ub1 smallint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 255 127 0 255 127 0 65535 32767 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 255 127 0 255 127 0 65535 32767 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Restoring table with changed signedness + 4th degree demoted types: +* tinyint unsigned/signed --> tinyint signed/unsigned +* smallint unsigned/signed --> tinyint signed/unsigned +* mediumint unsigned/signed --> tinyint signed/unsigned +* int unsigned/signed --> tinyint signed/unsigned +* bigint unsigned/signed --> tinyint signed/unsigned +************************************************************ +DELETE FROM t1; +ALTER TABLE t1 +modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, +modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, +modify m1 tinyint unsigned, modify m2 tinyint unsigned, modify um1 tinyint signed, +modify i1 tinyint unsigned, modify i2 tinyint unsigned, modify ui1 tinyint signed, +modify b1 tinyint unsigned, modify b2 tinyint unsigned, modify ub1 tinyint signed; +INSERT INTO t1 VALUES( +-128, 127, 255, +-32768, 32767, 65535, +-8388608, 8388607, 16777215, +-2147483648, 2147483647, 4294967295, +-9223372036854775808, 9223372036854775807, 18446744073709551615 +); +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 255 127 0 255 127 0 255 127 +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; +DELETE FROM t1; +SELECT * FROM t1; +t1 t2 ut1 s1 s2 us1 m1 m2 um1 i1 i2 ui1 b1 b2 ub1 +0 127 127 0 255 127 0 255 127 0 255 127 0 255 127 +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +COUNT(*) +1 +DROP TABLE t1_myisam; +************************************************************ +* Deleting table with integral types +************************************************************ +DROP TABLE t1; === added file 'mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result' --- a/mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/r/ndb_restore_padding_preservation.result 2010-10-22 05:47:04 +0000 @@ -0,0 +1,178 @@ +************************************************************ +* Creating table with char+binary types +************************************************************ +CREATE TABLE t3( +c1 char(32), +b1 binary(32) +) ENGINE=NDB; +INSERT INTO t3 VALUES('aaaaaaaa', 'bbbbbbbb'); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 32 +************************************************************ +* Backing up table with char+binary types +************************************************************ +************************************************************ +* Restoring table with unchanged char+binary types (sanity check): +* char(32) --> char(32) +* binary(32) --> binary(32) +************************************************************ +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 32 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with promoted char+binary types preserving padding: +* char(32) --> varchar(32) +* binary(32) --> varbinary(32) +************************************************************ +ALTER TABLE t3 MODIFY c1 varchar(32), MODIFY b1 varbinary(32); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 32 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +32 32 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with promoted char+binary types preserving padding: +* char(32) --> varchar(64) +* binary(32) --> varbinary(64) +************************************************************ +ALTER TABLE t3 MODIFY c1 varchar(64), MODIFY b1 varbinary(64); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +32 32 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +32 32 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with promoted char+binary types preserving padding: +* char(32) --> varchar(512) +* binary(32) --> varbinary(512) +************************************************************ +ALTER TABLE t3 MODIFY c1 varchar(512), MODIFY b1 varbinary(512); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +32 32 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +32 32 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with demoted char+binary types preserving padding: +* char(32) --> varchar(16) +* binary(32) --> varbinary(16) +************************************************************ +ALTER TABLE t3 MODIFY c1 varchar(16), MODIFY b1 varbinary(16); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +16 16 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +16 16 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with promoted char+binary types discarding padding: +* char(32) --> varchar(32) +* binary(32) --> varbinary(32) +************************************************************ +DELETE FROM t3; +ALTER TABLE t3 MODIFY c1 varchar(32), MODIFY b1 varbinary(32); +INSERT INTO t3 VALUES('aaaaaaaa', 'bbbbbbbb'); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with promoted char+binary types discarding padding: +* char(32) --> varchar(64) +* binary(32) --> varbinary(64) +************************************************************ +ALTER TABLE t3 MODIFY c1 varchar(64), MODIFY b1 varbinary(64); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with promoted char+binary types discarding padding: +* char(32) --> varchar(512) +* binary(32) --> varbinary(512) +************************************************************ +ALTER TABLE t3 MODIFY c1 varchar(512), MODIFY b1 varbinary(512); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Restoring table with demoted char+binary types discarding padding: +* char(32) --> varchar(16) +* binary(32) --> varbinary(16) +************************************************************ +ALTER TABLE t3 MODIFY c1 varchar(16), MODIFY b1 varbinary(16); +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; +DELETE FROM t3; +SELECT length(c1), length(b1) FROM t3; +length(c1) length(b1) +8 8 +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +COUNT(*) +1 +DROP TABLE t3_myisam; +************************************************************ +* Deleting table with char+binary types +************************************************************ +DROP TABLE t3; === added file 'mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test' --- a/mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_lossy_charbinary_conv.test 2010-10-22 05:47:04 +0000 @@ -0,0 +1,455 @@ +###################################################################### +# Author: Martin Zaun +# Date: 2010-10 +# Purpose: Lossy conversion test for [var]char and [var]binary types +###################################################################### + +-- source include/have_ndb.inc + +# mysqld's configuration is not relevant to this test +-- source include/not_embedded.inc + +--echo ************************************************************ +--echo * Creating table with char+binary types +--echo ************************************************************ + +CREATE TABLE t2( + c1 char(2), c2 char(128), c3 char(255), + b1 binary(2), b2 binary(128), b3 binary(255), + vc1 varchar(2), vc2 varchar(255), vc3 varchar(1024), + vb1 varbinary(2), vb2 varbinary(255), vb3 varbinary(1024) +) ENGINE=NDB; + +INSERT INTO t2 VALUES( + repeat('a', 2), repeat('b', 128), repeat('c', 255), + repeat('d', 2), repeat('e', 128), repeat('f', 255), + repeat('g', 2), repeat('h', 255), repeat('i', 1024), + repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); + +--echo ************************************************************ +--echo * Backing up table with char+binary types +--echo ************************************************************ + +--source include/ndb_backup.inc + +# command shortcuts +#--let $restore_cmd=$NDB_RESTORE --no-defaults -b $the_backup_id -r +#--let $restore_cmd=$restore_cmd --backup_path=$NDB_BACKUPS-$the_backup_id +# for ndb 6.3: +--let $restore_cmd=$NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id +--let $restore_cmd=$restore_cmd -r --backup_path=$NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id + +--echo ************************************************************ +--echo * Restoring table with unchanged char+binary types: +--echo * char(2) --> char(2) +--echo * char(128) --> char(128) +--echo * char(255) --> char(255) +--echo * binary(2) --> binary(2) +--echo * binary(128) --> binary(128) +--echo * binary(255) --> binary(255) +--echo * varchar(2) --> varchar(2) +--echo * varchar(255) --> varchar(255) +--echo * varchar(1024) --> varchar(1024) +--echo * varbinary(2) --> varbinary(2) +--echo * varbinary(255) --> varbinary(255) +--echo * varbinary(1024) --> varbinary(1024) +--echo ************************************************************ + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +# for debugging: +# --exec $NDB_RESTORE --no-defaults -b $the_backup_id -n 1 -L -r --print $NDB_BACKUPS-$the_backup_id >> $NDB_TOOLS_OUTPUT +# --exec $NDB_RESTORE --no-defaults -b $the_backup_id -n 2 -L -r --print $NDB_BACKUPS-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Restoring table with 1st degree demoted char+binary types: +--echo * char(2) --> char(1) +--echo * char(128) --> char(2) +--echo * char(255) --> char(128) +--echo * binary(2) --> binary(1) +--echo * binary(128) --> binary(2) +--echo * binary(255) --> binary(128) +--echo * varchar(2) --> varchar(1) +--echo * varchar(255) --> varchar(2) +--echo * varchar(1024) --> varchar(512) +--echo * varbinary(2) --> varbinary(1) +--echo * varbinary(255) --> varbinary(2) +--echo * varbinary(1024) --> varbinary(512) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t2 + modify c1 char(1), modify c2 char(2), modify c3 char(128), + modify b1 binary(1), modify b2 binary(2), modify b3 binary(128), + modify vc1 varchar(1), modify vc2 varchar(2), modify vc3 varchar(512), + modify vb1 varbinary(1), modify vb2 varbinary(2), modify vb3 varbinary(512); +--enable_warnings +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Restoring table with 2nd degree demoted char+binary types: +--echo * char(2) --> char(1) +--echo * char(128) --> char(1) +--echo * char(255) --> char(2) +--echo * binary(2) --> binary(1) +--echo * binary(128) --> binary(1) +--echo * binary(255) --> binary(2) +--echo * varchar(2) --> varchar(1) +--echo * varchar(255) --> varchar(1) +--echo * varchar(1024) --> varchar(255) +--echo * varbinary(2) --> varbinary(1) +--echo * varbinary(255) --> varbinary(1) +--echo * varbinary(1024) --> varbinary(255) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t2 + modify c1 char(1), modify c2 char(1), modify c3 char(2), + modify b1 binary(1), modify b2 binary(1), modify b3 binary(2), + modify vc1 varchar(1), modify vc2 varchar(1), modify vc3 varchar(255), + modify vb1 varbinary(1), modify vb2 varbinary(1), modify vb3 varbinary(255); +--enable_warnings +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Restoring table with 3rd degree demoted char+binary types: +--echo * char(2) --> char(1) +--echo * char(128) --> char(1) +--echo * char(255) --> char(1) +--echo * binary(2) --> binary(1) +--echo * binary(128) --> binary(1) +--echo * binary(255) --> binary(1) +--echo * varchar(2) --> varchar(1) +--echo * varchar(255) --> varchar(1) +--echo * varchar(1024) --> varchar(1) +--echo * varbinary(2) --> varbinary(1) +--echo * varbinary(255) --> varbinary(1) +--echo * varbinary(1024) --> varbinary(1) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t2 + modify c1 char(1), modify c2 char(1), modify c3 char(1), + modify b1 binary(1), modify b2 binary(1), modify b3 binary(1), + modify vc1 varchar(1), modify vc2 varchar(1), modify vc3 varchar(1), + modify vb1 varbinary(1), modify vb2 varbinary(1), modify vb3 varbinary(1); +--enable_warnings +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed var-ness of char+binary types: +--echo * char(2) --> varchar(2) +--echo * char(128) --> varchar(128) +--echo * char(255) --> varchar(255) +--echo * binary(2) --> varbinary(2) +--echo * binary(128) --> varbinary(128) +--echo * binary(255) --> varbinary(255) +--echo * varchar(2) --> char(2) +--echo * varchar(255) --> char(255) +--echo * varchar(1024) --> varchar(1024) +--echo * varbinary(2) --> binary(2) +--echo * varbinary(255) --> binary(255) +--echo * varbinary(1024) --> varbinary(1024) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +DELETE FROM t2; +ALTER TABLE t2 + modify c1 varchar(2), modify c2 varchar(128), modify c3 varchar(255), + modify b1 varbinary(2), modify b2 varbinary(128), modify b3 varbinary(255), + modify vc1 char(2), modify vc2 char(255), modify vc3 varchar(1024), + modify vb1 binary(2), modify vb2 binary(255), modify vb3 varbinary(1024); +INSERT INTO t2 VALUES( + repeat('a', 2), repeat('b', 128), repeat('c', 255), + repeat('d', 2), repeat('e', 128), repeat('f', 255), + repeat('g', 2), repeat('h', 255), repeat('i', 1024), + repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +--enable_warnings +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +--exec $restore_cmd -n 1 --print -A > /dev/null +--exec $restore_cmd -n 2 --print -A > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed varness + 1st degree demoted types: +--echo * char(2) --> varchar(1) +--echo * char(128) --> varchar(2) +--echo * char(255) --> varchar(128) +--echo * binary(2) --> varbinary(1) +--echo * binary(128) --> varbinary(2) +--echo * binary(255) --> varbinary(128) +--echo * varchar(2) --> char(1) +--echo * varchar(255) --> char(2) +--echo * varchar(1024) --> char(255) +--echo * varbinary(2) --> binary(1) +--echo * varbinary(255) --> binary(2) +--echo * varbinary(1024) --> binary(255) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +DELETE FROM t2; +ALTER TABLE t2 + modify c1 varchar(1), modify c2 varchar(2), modify c3 varchar(128), + modify b1 varbinary(1), modify b2 varbinary(2), modify b3 varbinary(128), + modify vc1 char(1), modify vc2 char(2), modify vc3 char(255), + modify vb1 binary(1), modify vb2 binary(2), modify vb3 binary(255); +INSERT INTO t2 VALUES( + repeat('a', 2), repeat('b', 128), repeat('c', 255), + repeat('d', 2), repeat('e', 128), repeat('f', 255), + repeat('g', 2), repeat('h', 255), repeat('i', 1024), + repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +--enable_warnings +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed varness + 2nd degree demoted types: +--echo * char(2) --> varchar(1) +--echo * char(128) --> varchar(1) +--echo * char(255) --> varchar(2) +--echo * binary(2) --> varbinary(1) +--echo * binary(128) --> varbinary(1) +--echo * binary(255) --> varbinary(2) +--echo * varchar(2) --> char(1) +--echo * varchar(255) --> char(1) +--echo * varchar(1024) --> char(255) +--echo * varbinary(2) --> binary(1) +--echo * varbinary(255) --> binary(1) +--echo * varbinary(1024) --> binary(255) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +DELETE FROM t2; +ALTER TABLE t2 + modify c1 varchar(1), modify c2 varchar(1), modify c3 varchar(2), + modify b1 varbinary(1), modify b2 varbinary(1), modify b3 varbinary(2), + modify vc1 char(1), modify vc2 char(1), modify vc3 char(255), + modify vb1 binary(1), modify vb2 binary(1), modify vb3 binary(255); +INSERT INTO t2 VALUES( + repeat('a', 2), repeat('b', 128), repeat('c', 255), + repeat('d', 2), repeat('e', 128), repeat('f', 255), + repeat('g', 2), repeat('h', 255), repeat('i', 1024), + repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +--enable_warnings +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed varness + 3rd degree demoted types: +--echo * char(2) --> varchar(1) +--echo * char(128) --> varchar(1) +--echo * char(255) --> varchar(1) +--echo * binary(2) --> varbinary(1) +--echo * binary(128) --> varbinary(1) +--echo * binary(255) --> varbinary(1) +--echo * varchar(2) --> char(1) +--echo * varchar(255) --> char(1) +--echo * varchar(1024) --> char(1) +--echo * varbinary(2) --> binary(1) +--echo * varbinary(255) --> binary(1) +--echo * varbinary(1024) --> binary(1) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +DELETE FROM t2; +ALTER TABLE t2 + modify c1 varchar(1), modify c2 varchar(1), modify c3 varchar(1), + modify b1 varbinary(1), modify b2 varbinary(1), modify b3 varbinary(1), + modify vc1 char(1), modify vc2 char(1), modify vc3 char(1), + modify vb1 binary(1), modify vb2 binary(1), modify vb3 binary(1); +INSERT INTO t2 VALUES( + repeat('a', 2), repeat('b', 128), repeat('c', 255), + repeat('d', 2), repeat('e', 128), repeat('f', 255), + repeat('g', 2), repeat('h', 255), repeat('i', 1024), + repeat('j', 2), repeat('k', 255), repeat('l', 1024) +); +--enable_warnings +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t2_myisam ENGINE=MYISAM AS SELECT * FROM t2; + +# restore table +DELETE FROM t2; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT + length(c1), length(c2), length(c3), + length(b1), length(b2), length(b2), + length(vc1), length(vc2), length(vc3), + length(vb1), length(vb2), length(vb3) +FROM t2; + +# verify data +SELECT COUNT(*) FROM t2 NATURAL JOIN t2_myisam; +DROP TABLE t2_myisam; + +--echo ************************************************************ +--echo * Deleting table with char+binary types +--echo ************************************************************ + +DROP TABLE t2; === added file 'mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test' --- a/mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_lossy_integral_conv.test 2010-10-22 05:47:04 +0000 @@ -0,0 +1,575 @@ +###################################################################### +# Author: Martin Zaun +# Date: 2010-10 +# Purpose: Lossy conversion test for integral types +###################################################################### + +-- source include/have_ndb.inc + +# mysqld's configuration is not relevant to this test +-- source include/not_embedded.inc + +--echo ************************************************************ +--echo * Creating table with integral types +--echo ************************************************************ + +CREATE TABLE t1( + t1 tinyint, t2 tinyint, ut1 tinyint unsigned, + s1 smallint, s2 smallint, us1 smallint unsigned, + m1 mediumint, m2 mediumint, um1 mediumint unsigned, + i1 int, i2 int, ui1 int unsigned, + b1 bigint, b2 bigint, ub1 bigint unsigned +) ENGINE=NDB; + +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); + +--echo ************************************************************ +--echo * Backing up table with integral types +--echo ************************************************************ + +--source include/ndb_backup.inc + +# command shortcuts +#--let $restore_cmd=$NDB_RESTORE --no-defaults -b $the_backup_id -r +#--let $restore_cmd=$restore_cmd --backup_path=$NDB_BACKUPS-$the_backup_id +# for ndb 6.3: +--let $restore_cmd=$NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id +--let $restore_cmd=$restore_cmd -r --backup_path=$NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id + +--echo ************************************************************ +--echo * Restoring table with unchanged integral types: +--echo * tinyint[unsigned] --> tinyint[unsigned] +--echo * smallint[unsigned] --> smallint[unsigned] +--echo * mediumint[unsigned] --> mediumint[unsigned] +--echo * int[unsigned] --> int[unsigned] +--echo * bigint[unsigned] --> bigint[unsigned] +--echo ************************************************************ + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +# for debugging: +# --exec $NDB_RESTORE --no-defaults -b $the_backup_id -n 1 -L -r --print $NDB_BACKUPS-$the_backup_id >> $NDB_TOOLS_OUTPUT +# --exec $NDB_RESTORE --no-defaults -b $the_backup_id -n 2 -L -r --print $NDB_BACKUPS-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with 1st degree demoted integral types: +--echo * tinyint[unsigned] --> tinyint[unsigned] +--echo * smallint[unsigned] --> tinyint[unsigned] +--echo * mediumint[unsigned] --> smallint[unsigned] +--echo * int[unsigned] --> mediumint[unsigned] +--echo * bigint[unsigned] --> int[unsigned] +--echo ************************************************************ + +# demote integral type attibutes +--disable_warnings +ALTER TABLE t1 + modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, + modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, + modify m1 smallint, modify m2 smallint, modify um1 smallint unsigned, + modify i1 mediumint, modify i2 mediumint, modify ui1 mediumint unsigned, + modify b1 int, modify b2 int, modify ub1 int unsigned; +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with 2nd degree demoted integral types: +--echo * tinyint[unsigned] --> tinyint[unsigned] +--echo * smallint[unsigned] --> tinyint[unsigned] +--echo * mediumint[unsigned] --> tinyint[unsigned] +--echo * int[unsigned] --> smallint[unsigned] +--echo * bigint[unsigned] --> mediumint[unsigned] +--echo ************************************************************ + +# demote integral type attibutes +--disable_warnings +ALTER TABLE t1 + modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, + modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, + modify m1 tinyint, modify m2 tinyint, modify um1 tinyint unsigned, + modify i1 smallint, modify i2 smallint, modify ui1 smallint unsigned, + modify b1 mediumint, modify b2 mediumint, modify ub1 mediumint unsigned; +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with 3rd degree demoted integral types: +--echo * tinyint[unsigned] --> tinyint[unsigned] +--echo * smallint[unsigned] --> tinyint[unsigned] +--echo * mediumint[unsigned] --> tinyint[unsigned] +--echo * int[unsigned] --> tinyint[unsigned] +--echo * bigint[unsigned] --> smallint[unsigned] +--echo ************************************************************ + +# demote integral type attibutes +--disable_warnings +ALTER TABLE t1 + modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, + modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, + modify m1 tinyint, modify m2 tinyint, modify um1 tinyint unsigned, + modify i1 tinyint, modify i2 tinyint, modify ui1 tinyint unsigned, + modify b1 smallint, modify b2 smallint, modify ub1 smallint unsigned; +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with 4th degree demoted integral types: +--echo * tinyint[unsigned] --> tinyint[unsigned] +--echo * smallint[unsigned] --> tinyint[unsigned] +--echo * mediumint[unsigned] --> tinyint[unsigned] +--echo * int[unsigned] --> tinyint[unsigned] +--echo * bigint[unsigned] --> tinyint[unsigned] +--echo ************************************************************ + +# demote integral type attibutes +--disable_warnings +ALTER TABLE t1 + modify t1 tinyint, modify t2 tinyint, modify ut1 tinyint unsigned, + modify s1 tinyint, modify s2 tinyint, modify us1 tinyint unsigned, + modify m1 tinyint, modify m2 tinyint, modify um1 tinyint unsigned, + modify i1 tinyint, modify i2 tinyint, modify ui1 tinyint unsigned, + modify b1 tinyint, modify b2 tinyint, modify ub1 tinyint unsigned; +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness: +--echo * tinyint unsigned/signed --> tinyint signed/unsigned +--echo * smallint unsigned/signed --> smallint signed/unsigned +--echo * mediumint unsigned/signed --> mediumint signed/unsigned +--echo * int unsigned/signed --> int signed/unsigned +--echo * bigint unsigned/signed --> bigint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, + modify s1 smallint unsigned, modify s2 smallint unsigned, modify us1 smallint signed, + modify m1 mediumint unsigned, modify m2 mediumint unsigned, modify um1 mediumint signed, + modify i1 int unsigned, modify i2 int unsigned, modify ui1 int signed, + modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 1st degree promoted types: +--echo * tinyint unsigned/signed --> smallint signed/unsigned +--echo * smallint unsigned/signed --> mediumint signed/unsigned +--echo * mediumint unsigned/signed --> int signed/unsigned +--echo * int unsigned/signed --> bigint signed/unsigned +--echo * bigint unsigned/signed --> bigint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 smallint unsigned, modify t2 smallint unsigned, modify ut1 smallint signed, + modify s1 mediumint unsigned, modify s2 mediumint unsigned, modify us1 mediumint signed, + modify m1 int unsigned, modify m2 int unsigned, modify um1 int signed, + modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, + modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 2nd degree promoted types: +--echo * tinyint unsigned/signed --> mediumint signed/unsigned +--echo * smallint unsigned/signed --> int signed/unsigned +--echo * mediumint unsigned/signed --> bigint signed/unsigned +--echo * int unsigned/signed --> bigint signed/unsigned +--echo * bigint unsigned/signed --> bigint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 mediumint unsigned, modify t2 mediumint unsigned, modify ut1 mediumint signed, + modify s1 int unsigned, modify s2 int unsigned, modify us1 int signed, + modify m1 bigint unsigned, modify m2 bigint unsigned, modify um1 bigint signed, + modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, + modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 3rd degree promoted types: +--echo * tinyint unsigned/signed --> int signed/unsigned +--echo * smallint unsigned/signed --> bigint signed/unsigned +--echo * mediumint unsigned/signed --> bigint signed/unsigned +--echo * int unsigned/signed --> bigint signed/unsigned +--echo * bigint unsigned/signed --> bigint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 int unsigned, modify t2 int unsigned, modify ut1 int signed, + modify s1 bigint unsigned, modify s2 bigint unsigned, modify us1 bigint signed, + modify m1 bigint unsigned, modify m2 bigint unsigned, modify um1 bigint signed, + modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, + modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 4th degree promoted types: +--echo * tinyint unsigned/signed --> bigint signed/unsigned +--echo * smallint unsigned/signed --> bigint signed/unsigned +--echo * mediumint unsigned/signed --> bigint signed/unsigned +--echo * int unsigned/signed --> bigint signed/unsigned +--echo * bigint unsigned/signed --> bigint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 bigint unsigned, modify t2 bigint unsigned, modify ut1 bigint signed, + modify s1 bigint unsigned, modify s2 bigint unsigned, modify us1 bigint signed, + modify m1 bigint unsigned, modify m2 bigint unsigned, modify um1 bigint signed, + modify i1 bigint unsigned, modify i2 bigint unsigned, modify ui1 bigint signed, + modify b1 bigint unsigned, modify b2 bigint unsigned, modify ub1 bigint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 1st degree demoted types: +--echo * tinyint unsigned/signed --> tinyint signed/unsigned +--echo * smallint unsigned/signed --> tinyint signed/unsigned +--echo * mediumint unsigned/signed --> smallint signed/unsigned +--echo * int unsigned/signed --> mediumint signed/unsigned +--echo * bigint unsigned/signed --> int signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, + modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, + modify m1 smallint unsigned, modify m2 smallint unsigned, modify um1 smallint signed, + modify i1 mediumint unsigned, modify i2 mediumint unsigned, modify ui1 mediumint signed, + modify b1 int unsigned, modify b2 int unsigned, modify ub1 int signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 2nd degree demoted types: +--echo * tinyint unsigned/signed --> tinyint signed/unsigned +--echo * smallint unsigned/signed --> tinyint signed/unsigned +--echo * mediumint unsigned/signed --> tinyint signed/unsigned +--echo * int unsigned/signed --> smallint signed/unsigned +--echo * bigint unsigned/signed --> mediumint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, + modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, + modify m1 tinyint unsigned, modify m2 tinyint unsigned, modify um1 tinyint signed, + modify i1 smallint unsigned, modify i2 smallint unsigned, modify ui1 smallint signed, + modify b1 mediumint unsigned, modify b2 mediumint unsigned, modify ub1 mediumint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 3rd degree demoted types: +--echo * tinyint unsigned/signed --> tinyint signed/unsigned +--echo * smallint unsigned/signed --> tinyint signed/unsigned +--echo * mediumint unsigned/signed --> tinyint signed/unsigned +--echo * int unsigned/signed --> tinyint signed/unsigned +--echo * bigint unsigned/signed --> smallint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, + modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, + modify m1 tinyint unsigned, modify m2 tinyint unsigned, modify um1 tinyint signed, + modify i1 tinyint unsigned, modify i2 tinyint unsigned, modify ui1 tinyint signed, + modify b1 smallint unsigned, modify b2 smallint unsigned, modify ub1 smallint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Restoring table with changed signedness + 4th degree demoted types: +--echo * tinyint unsigned/signed --> tinyint signed/unsigned +--echo * smallint unsigned/signed --> tinyint signed/unsigned +--echo * mediumint unsigned/signed --> tinyint signed/unsigned +--echo * int unsigned/signed --> tinyint signed/unsigned +--echo * bigint unsigned/signed --> tinyint signed/unsigned +--echo ************************************************************ + +# convert signedness of integral type attibutes +--disable_warnings +DELETE FROM t1; +ALTER TABLE t1 + modify t1 tinyint unsigned, modify t2 tinyint unsigned, modify ut1 tinyint signed, + modify s1 tinyint unsigned, modify s2 tinyint unsigned, modify us1 tinyint signed, + modify m1 tinyint unsigned, modify m2 tinyint unsigned, modify um1 tinyint signed, + modify i1 tinyint unsigned, modify i2 tinyint unsigned, modify ui1 tinyint signed, + modify b1 tinyint unsigned, modify b2 tinyint unsigned, modify ub1 tinyint signed; +INSERT INTO t1 VALUES( + -128, 127, 255, + -32768, 32767, 65535, + -8388608, 8388607, 16777215, + -2147483648, 2147483647, 4294967295, + -9223372036854775808, 9223372036854775807, 18446744073709551615 +); +--enable_warnings +SELECT * FROM t1; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t1_myisam ENGINE=MYISAM AS SELECT * FROM t1; + +# restore table +DELETE FROM t1; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT * FROM t1; + +# verify data +SELECT COUNT(*) FROM t1 NATURAL JOIN t1_myisam; +DROP TABLE t1_myisam; + +--echo ************************************************************ +--echo * Deleting table with integral types +--echo ************************************************************ + +DROP TABLE t1; === added file 'mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test' --- a/mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/ndb/t/ndb_restore_padding_preservation.test 2010-10-22 05:47:04 +0000 @@ -0,0 +1,265 @@ +###################################################################### +# Author: Martin Zaun +# Date: 2010-10 +# Purpose: Right-padding preservation test for char and binary types +###################################################################### + +-- source include/have_ndb.inc + +# mysqld's configuration is not relevant to this test +-- source include/not_embedded.inc + +--echo ************************************************************ +--echo * Creating table with char+binary types +--echo ************************************************************ + +CREATE TABLE t3( + c1 char(32), + b1 binary(32) +) ENGINE=NDB; + +INSERT INTO t3 VALUES('aaaaaaaa', 'bbbbbbbb'); +SELECT length(c1), length(b1) FROM t3; + +--echo ************************************************************ +--echo * Backing up table with char+binary types +--echo ************************************************************ + +--source include/ndb_backup.inc + +# command shortcuts +#--let $restore_cmd=$NDB_RESTORE --no-defaults -b $the_backup_id -r +#--let $restore_cmd=$restore_cmd --backup_path=$NDB_BACKUPS-$the_backup_id +# for ndb 6.3: +--let $restore_cmd=$NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id +--let $restore_cmd=$restore_cmd -r --backup_path=$NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id + +--echo ************************************************************ +--echo * Restoring table with unchanged char+binary types (sanity check): +--echo * char(32) --> char(32) +--echo * binary(32) --> binary(32) +--echo ************************************************************ + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +# for debugging: +# --exec $NDB_RESTORE --no-defaults -b $the_backup_id -n 1 -L -r --print $NDB_BACKUPS-$the_backup_id >> $NDB_TOOLS_OUTPUT +# --exec $NDB_RESTORE --no-defaults -b $the_backup_id -n 2 -L -r --print $NDB_BACKUPS-$the_backup_id >> $NDB_TOOLS_OUTPUT +--exec $restore_cmd -n 1 --print > /dev/null +--exec $restore_cmd -n 2 --print > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with promoted char+binary types preserving padding: +--echo * char(32) --> varchar(32) +--echo * binary(32) --> varbinary(32) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t3 MODIFY c1 varchar(32), MODIFY b1 varbinary(32); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -A -P > /dev/null +--exec $restore_cmd -n 2 --print -A -P > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with promoted char+binary types preserving padding: +--echo * char(32) --> varchar(64) +--echo * binary(32) --> varbinary(64) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t3 MODIFY c1 varchar(64), MODIFY b1 varbinary(64); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -A -P > /dev/null +--exec $restore_cmd -n 2 --print -A -P > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with promoted char+binary types preserving padding: +--echo * char(32) --> varchar(512) +--echo * binary(32) --> varbinary(512) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t3 MODIFY c1 varchar(512), MODIFY b1 varbinary(512); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -A -P > /dev/null +--exec $restore_cmd -n 2 --print -A -P > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with demoted char+binary types preserving padding: +--echo * char(32) --> varchar(16) +--echo * binary(32) --> varbinary(16) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t3 MODIFY c1 varchar(16), MODIFY b1 varbinary(16); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -L -P > /dev/null +--exec $restore_cmd -n 2 --print -L -P > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with promoted char+binary types discarding padding: +--echo * char(32) --> varchar(32) +--echo * binary(32) --> varbinary(32) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +DELETE FROM t3; +ALTER TABLE t3 MODIFY c1 varchar(32), MODIFY b1 varbinary(32); +INSERT INTO t3 VALUES('aaaaaaaa', 'bbbbbbbb'); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -A > /dev/null +--exec $restore_cmd -n 2 --print -A > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with promoted char+binary types discarding padding: +--echo * char(32) --> varchar(64) +--echo * binary(32) --> varbinary(64) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t3 MODIFY c1 varchar(64), MODIFY b1 varbinary(64); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -A > /dev/null +--exec $restore_cmd -n 2 --print -A > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with promoted char+binary types discarding padding: +--echo * char(32) --> varchar(512) +--echo * binary(32) --> varbinary(512) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t3 MODIFY c1 varchar(512), MODIFY b1 varbinary(512); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -A > /dev/null +--exec $restore_cmd -n 2 --print -A > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Restoring table with demoted char+binary types discarding padding: +--echo * char(32) --> varchar(16) +--echo * binary(32) --> varbinary(16) +--echo ************************************************************ + +# demote char+binary type attibutes +--disable_warnings +ALTER TABLE t3 MODIFY c1 varchar(16), MODIFY b1 varbinary(16); +--enable_warnings +SELECT length(c1), length(b1) FROM t3; + +# create a MyISAM table from NDB table, against which to compare data +CREATE TABLE t3_myisam ENGINE=MYISAM AS SELECT * FROM t3; + +# restore table +DELETE FROM t3; +--exec $restore_cmd -n 1 --print -L > /dev/null +--exec $restore_cmd -n 2 --print -L > /dev/null +SELECT length(c1), length(b1) FROM t3; + +# verify data +SELECT COUNT(*) FROM t3 NATURAL JOIN t3_myisam; +DROP TABLE t3_myisam; + +--echo ************************************************************ +--echo * Deleting table with char+binary types +--echo ************************************************************ + +DROP TABLE t3; --===============0886295175== 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-6.3-wl5421/ # testament_sha1: c3a8af27e2e2769f2f726db677856dddecfc1b98 # timestamp: 2010-10-21 22:47:20 -0700 # source_branch: file:///Users/mz/mysql/ndb-6.3/ # base_revision_id: martin.zaun@stripped\ # v3i8y1c5btsfx4qe # # Begin bundle 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 RzNryf6/N/8XckU4UJDRryQt --===============0886295175==--