From: Martin Zaun Date: October 22 2010 6:00am Subject: bzr commit into mysql-5.1-telco-6.3 branch (martin.zaun:3319) List-Archive: http://lists.mysql.com/commits/121618 Message-Id: <201010220601.o9M3IuPN005217@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1545056809==" --===============1545056809== 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 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 06:00:55 +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 06:00:55 +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 06:00:55 +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 06:00:55 +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 06:00:55 +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 06:00:55 +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; --===============1545056809== 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: c4f31aff982000346dc7e315da8ebc905f7dff9d # timestamp: 2010-10-21 23:01:01 -0700 # source_branch: file:///Users/mz/mysql/ndb-6.3/ # base_revision_id: martin.zaun@stripped\ # v3i8y1c5btsfx4qe # # Begin bundle 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 hfY4wmlbPI8PdS9h19r/8XckU4UJDBVKWwA= --===============1545056809==--