Below is the list of changes that have just been committed into a local
5.1 repository of gni. When gni does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-11-02 19:10:20+08:00, gni@stripped +19 -0
WL#3829 Expanding testing of online alter table
mysql-test/Makefile.am@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +8 -0
WL#3829 add install data of the new test case in Makefile.am
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.1.Data@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +402 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.1.Data
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.1.Data@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.2.Data@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +413 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.2.Data
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.2.Data@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.ctl@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +217 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.ctl
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.ctl@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.log@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +2 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.log
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.log@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.ctl@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +217 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.ctl
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.ctl@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.log@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +2 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.log
mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.log@stripped, 2007-11-02 19:02:04+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.1.Data@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +413 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.1.Data
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.1.Data@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.2.Data@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +401 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.2.Data
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.2.Data@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.ctl@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +217 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.ctl
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.ctl@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.log@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +2 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.log
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.log@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.ctl@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +217 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.ctl
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.ctl@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +0 -0
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.log@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +2 -0
BitKeeper file /home/ngb/mysql/mysql-5.1/online_alter_table/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.log
mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.log@stripped, 2007-11-02 19:01:31+08:00, gni@stripped +0 -0
mysql-test/suite/ndb/r/ndb_alter_table_mix_backup_restore.result@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +52 -0
Add test cases for mix endian testing with newly added columns
mysql-test/suite/ndb/r/ndb_alter_table_mix_backup_restore.result@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +0 -0
mysql-test/suite/ndb/r/ndb_alter_table_online.result@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +86 -4
Add test cases for updating the newly added columns
mysql-test/suite/ndb/t/ndb_alter_table_mix_backup_restore.test@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +42 -0
Add test cases for mix endian testing with newly added columns
mysql-test/suite/ndb/t/ndb_alter_table_mix_backup_restore.test@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +0 -0
mysql-test/suite/ndb/t/ndb_alter_table_online.test@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +48 -6
Add test cases for updating the newly added columns
mysql-test/suite/rpl_ndb/r/rpl_ndb_add_column.result@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +159 -31
Add test cases for replication with newly added columns
mysql-test/suite/rpl_ndb/t/rpl_ndb_add_column.test@stripped, 2007-11-02 19:10:15+08:00, gni@stripped +89 -2
Add test cases for replication with newly added columns
diff -Nrup a/mysql-test/Makefile.am b/mysql-test/Makefile.am
--- a/mysql-test/Makefile.am 2007-09-12 20:07:05 +08:00
+++ b/mysql-test/Makefile.am 2007-11-02 19:10:15 +08:00
@@ -46,6 +46,8 @@ dist-hook:
$(distdir)/std_data/ndb_backup51_dd \
$(distdir)/std_data/ndb_backup51_data_be \
$(distdir)/std_data/ndb_backup51_data_le \
+ $(distdir)/std_data/ndb_backup51_online_alter_table_data_be \
+ $(distdir)/std_data/ndb_backup51_online_alter_table_data_le \
$(distdir)/lib
-$(INSTALL_DATA) $(srcdir)/t/*.def $(distdir)/t
$(INSTALL_DATA) $(srcdir)/t/*.test $(distdir)/t
@@ -74,6 +76,8 @@ dist-hook:
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_dd/BACKUP* $(distdir)/std_data/ndb_backup51_dd
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(distdir)/std_data/ndb_backup51_data_be
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(distdir)/std_data/ndb_backup51_data_le
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_online_alter_table_data_be/BACKUP* $(distdir)/std_data/ndb_backup51_online_alter_table_data_be
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_online_alter_table_data_le/BACKUP* $(distdir)/std_data/ndb_backup51_online_alter_table_data_le
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib
-rm -rf `find $(distdir)/suite -type d -name SCCS` $(distdir)/suite/row_lock
@@ -90,6 +94,8 @@ install-data-local:
$(DESTDIR)$(testdir)/std_data/ndb_backup51_dd \
$(DESTDIR)$(testdir)/std_data/ndb_backup51_data_be \
$(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le \
+ $(DESTDIR)$(testdir)/std_data/ndb_backup51_online_alter_table_data_be \
+ $(DESTDIR)$(testdir)/std_data/ndb_backup51_online_alter_table_data_le \
$(DESTDIR)$(testdir)/lib
$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(testdir)
-$(INSTALL_DATA) $(srcdir)/t/*.def $(DESTDIR)$(testdir)/t
@@ -123,6 +129,8 @@ install-data-local:
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_dd/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_dd
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_be
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_online_alter_table_data_be/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_online_alter_table_data_be
+ $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_online_alter_table_data_le/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_online_alter_table_data_le
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib
for f in `(cd $(srcdir); find suite -type f | egrep -v 'SCCS|row_lock')`; \
do \
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.1.Data and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.1.Data differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.2.Data and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1-0.2.Data differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.ctl and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.ctl differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.log and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.1.log differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.ctl and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.ctl differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.log and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_be/BACKUP-1.2.log differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.1.Data and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.1.Data differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.2.Data and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1-0.2.Data differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.ctl and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.ctl differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.log and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.1.log differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.ctl and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.ctl differ
Binary files a/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.log and b/mysql-test/std_data/ndb_backup51_online_alter_table_data_le/BACKUP-1.2.log differ
diff -Nrup a/mysql-test/suite/ndb/r/ndb_alter_table_mix_backup_restore.result b/mysql-test/suite/ndb/r/ndb_alter_table_mix_backup_restore.result
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/ndb/r/ndb_alter_table_mix_backup_restore.result 2007-11-02 19:10:15 +08:00
@@ -0,0 +1,52 @@
+USE test;
+DROP TABLE IF EXISTS t1;
+*********************************
+* restore tables w/ new column from little endian
+*********************************
+SHOW TABLES;
+Tables_in_test
+t1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `b` int(11) /*!50120 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `c` float DEFAULT NULL,
+ `d` double unsigned DEFAULT NULL,
+ `e` decimal(5,2) DEFAULT NULL,
+ `f` datetime DEFAULT NULL,
+ `g` binary(4) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1
+SELECT * FROM t1 WHERE a = 1 or a = 10 or a = 20 or a = 30 ORDER BY a;
+a b c d e f g
+1 5 3.40282e+38 1.2686868689899e+308 666.66 2007-10-23 23:23:23 1111
+10 1 -3.40282e+38 NULL NULL NULL NULL
+20 1 -3.40282e+38 1.79769313486232e+308 345.21 NULL NULL
+30 1 -3.40282e+38 1.79769313486232e+308 345.21 1000-01-01 00:00:00 0101
+DROP TABLE t1;
+*********************************
+* restore tables w/ new column from big endian
+*********************************
+SHOW TABLES;
+Tables_in_test
+t1
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `b` int(11) /*!50120 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
+ `c` float DEFAULT NULL,
+ `d` double unsigned DEFAULT NULL,
+ `e` decimal(5,2) DEFAULT NULL,
+ `f` datetime DEFAULT NULL,
+ `g` binary(4) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1
+SELECT * FROM t1 WHERE a = 1 or a = 10 or a = 20 or a = 30 ORDER BY a;
+a b c d e f g
+1 5 3.40282e+38 1.2686868689899e+308 666.66 2007-10-23 23:23:23 1111
+10 1 -3.40282e+38 NULL NULL NULL NULL
+20 1 -3.40282e+38 1.79769313486232e+308 345.21 NULL NULL
+30 1 -3.40282e+38 1.79769313486232e+308 345.21 1000-01-01 00:00:00 0101
+DROP TABLE t1;
diff -Nrup a/mysql-test/suite/ndb/r/ndb_alter_table_online.result b/mysql-test/suite/ndb/r/ndb_alter_table_online.result
--- a/mysql-test/suite/ndb/r/ndb_alter_table_online.result 2007-10-06 01:39:28 +08:00
+++ b/mysql-test/suite/ndb/r/ndb_alter_table_online.result 2007-11-02 19:10:15 +08:00
@@ -27,6 +27,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 1 NULL
2 1 a
+UPDATE t1 SET c='b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 1 NULL
+2 1 b
DROP TABLE t1;
*******************************
* Alter Table online add column
@@ -55,6 +60,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 a NULL
2 a 1
+UPDATE t1 SET c = 2 where a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 a NULL
+2 a 2
DROP TABLE t1;
*******************************
* Alter Table online add column
@@ -83,6 +93,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 1 NULL
2 1 1
+UPDATE t1 SET c = 2 where a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 1 NULL
+2 1 2
*******************************
* Create online Index ci
*******************************
@@ -215,6 +230,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 1 NULL
2 1 a
+UPDATE t1 SET c = 'b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 1 NULL
+2 1 b
DROP TABLE t1;
*******************************
* Not supported Test#2
@@ -241,6 +261,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 1 17
2 1 a
+UPDATE t1 SET c = 'b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 1 17
+2 1 b
*******************************
* Not supported Test#3
*******************************
@@ -259,10 +284,18 @@ name
't1'
truncate ndb_show_tables_results;
ALTER TABLE t1 ADD d INT AFTER b;
+INSERT INTO t1 VALUES(3,1,1,'b');
+SELECT * FROM t1 ORDER BY a;
+a b d c
+1 1 NULL 17
+2 1 NULL b
+3 1 1 b
+UPDATE t1 SET d = 2 where a = 3;
SELECT * FROM t1 ORDER BY a;
a b d c
1 1 NULL 17
-2 1 NULL a
+2 1 NULL b
+3 1 2 b
*******************************
* Not supported Test#4
*******************************
@@ -300,6 +333,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 1 0000-00-00 00:00:00
2 2 2007-09-19 18:46:02
+UPDATE t1 SET c = '2007-10-22 16:35:06' where a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 1 0000-00-00 00:00:00
+2 2 2007-10-22 16:35:06
DROP TABLE t1;
*******************************
* Not supported Test#6
@@ -326,6 +364,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 1
2 1 a
+UPDATE t1 SET c = 'b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 1
+2 1 b
DROP TABLE t1;
*******************************
* Not supported Test#7
@@ -352,6 +395,11 @@ SELECT * FROM t1 ORDER BY a;
a b c
1 1 NULL
2 1 a
+UPDATE t1 SET c = 'b' WHERE a = 2;
+SELECT * FROM t1 ORDER BY a;
+a b c
+1 1 NULL
+2 1 b
DROP TABLE t1;
*******************************
* Not supported Test#8
@@ -411,9 +459,9 @@ select name from ndb_show_tables_results
name
truncate ndb_show_tables_results;
DROP TABLE t1;
-*******************************
-* Add column c as nullable TEXT
-*******************************
+****************************************
+* Add column c as nullable TEXT and BLOB
+****************************************
CREATE TABLE t1 (a INT UNSIGNED AUTO_INCREMENT KEY, b INT DEFAULT 2 COLUMN_FORMAT DYNAMIC) ENGINE NDB;
ndb_show_tables completed.....
@@ -429,6 +477,15 @@ select name from ndb_show_tables_results
name
't1'
truncate ndb_show_tables_results;
+ALTER ONLINE TABLE t1 ADD d BLOB;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD d BLOB'
+
+ndb_show_tables completed.....
+
+select name from ndb_show_tables_results where id = @t1_id and name like '%t1%' and type like '%UserTable%';
+name
+'t1'
+truncate ndb_show_tables_results;
DROP TABLE t1;
CREATE TABLE t1 (a INT UNSIGNED AUTO_INCREMENT KEY, b INT COLUMN_FORMAT DYNAMIC) ENGINE NDB;
@@ -488,6 +545,13 @@ COUNT(*)
SELECT COUNT(*) FROM t1 WHERE g IS NULL;
COUNT(*)
25
+UPDATE t1 SET c = 3.402823466E+38, d = 1.2686868689898989E+308, e = 666.66, f = '2007-10-23 23:23:23', g = '1111' WHERE a = 1;
+SELECT * FROM t1 WHERE a = 1 or a = 10 or a = 20 or a = 30 ORDER BY a;
+a b c d e f g
+1 5 3.40282e+38 1.2686868689899e+308 666.66 2007-10-23 23:23:23 1111
+10 1 -3.40282e+38 NULL NULL NULL NULL
+20 1 -3.40282e+38 1.79769313486232e+308 345.21 NULL NULL
+30 1 -3.40282e+38 1.79769313486232e+308 345.21 1000-01-01 00:00:00 0101
*********************************
* Backup and restore tables w/ new column
*********************************
@@ -522,6 +586,24 @@ Warnings:
Warning 1475 DYNAMIC column b with STORAGE DISK is not supported, column will become FIXED
ALTER ONLINE TABLE t1 CHANGE b b_1 INT COLUMN_FORMAT DYNAMIC;
ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 CHANGE b b_1 INT COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN c INT COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN c INT COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN d FLOAT COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN d FLOAT COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN e DOUBLE COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN e DOUBLE COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN f DATETIME COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN f DATETIME COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN g DECIMAL(5,2) COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN g DECIMAL(5,2) COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN h CHAR(20) COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN h CHAR(20) COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN h VARCHAR(20) COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN h VARCHAR(20) COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN h BINARY(20) COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN h BINARY(20) COLUMN_FORMAT DYNAMIC'
+ALTER ONLINE TABLE t1 ADD COLUMN h VARBINARY(20) COLUMN_FORMAT DYNAMIC;
+ERROR 42000: This version of MySQL doesn't yet support 'ALTER ONLINE TABLE t1 ADD COLUMN h VARBINARY(20) COLUMN_FORMAT DYNAMIC'
DROP TABLE t1;
ALTER TABLESPACE ts1
DROP DATAFILE 'datafile.dat'
diff -Nrup a/mysql-test/suite/ndb/t/ndb_alter_table_mix_backup_restore.test b/mysql-test/suite/ndb/t/ndb_alter_table_mix_backup_restore.test
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/ndb/t/ndb_alter_table_mix_backup_restore.test 2007-11-02 19:10:15 +08:00
@@ -0,0 +1,42 @@
+#############################################################
+# Author: Guangbao
+# Date: 2007-10-31
+# Purpose: mix backup/restore test for basic online alter table
+##############################################################
+
+--source include/have_multi_ndb.inc
+--source include/not_embedded.inc
+
+##############################
+# mix endian restore section #
+##############################
+#
+# Restore backup files (from little endian)
+#
+--disable_warnings
+USE test;
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+--echo *********************************
+--echo * restore tables w/ new column from little endian
+--echo *********************************
+--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -m -r $MYSQL_TEST_DIR/std_data/ndb_backup51_online_alter_table_data_le >> $NDB_TOOLS_OUTPUT
+--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 2 -r $MYSQL_TEST_DIR/std_data/ndb_backup51_online_alter_table_data_le >> $NDB_TOOLS_OUTPUT
+SHOW TABLES;
+SHOW CREATE TABLE t1;
+SELECT * FROM t1 WHERE a = 1 or a = 10 or a = 20 or a = 30 ORDER BY a;
+DROP TABLE t1;
+
+#
+# Restore backup files (from big endian)
+#
+--echo *********************************
+--echo * restore tables w/ new column from big endian
+--echo *********************************
+--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -m -r $MYSQL_TEST_DIR/std_data/ndb_backup51_online_alter_table_data_be >> $NDB_TOOLS_OUTPUT
+--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 2 -r $MYSQL_TEST_DIR/std_data/ndb_backup51_online_alter_table_data_be >> $NDB_TOOLS_OUTPUT
+SHOW TABLES;
+SHOW CREATE TABLE t1;
+SELECT * FROM t1 WHERE a = 1 or a = 10 or a = 20 or a = 30 ORDER BY a;
+DROP TABLE t1;
+# End of 5.1 Test Case
diff -Nrup a/mysql-test/suite/ndb/t/ndb_alter_table_online.test b/mysql-test/suite/ndb/t/ndb_alter_table_online.test
--- a/mysql-test/suite/ndb/t/ndb_alter_table_online.test 2007-10-06 01:39:39 +08:00
+++ b/mysql-test/suite/ndb/t/ndb_alter_table_online.test 2007-11-02 19:10:15 +08:00
@@ -42,6 +42,8 @@ truncate ndb_show_tables_results;
INSERT INTO t1 values (2,1,"a");
SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET c='b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
--echo *******************************
@@ -65,6 +67,8 @@ truncate ndb_show_tables_results;
INSERT INTO t1 values (2,"a",1);
SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET c = 2 where a = 2;
+SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
--echo *******************************
@@ -88,6 +92,8 @@ truncate ndb_show_tables_results;
INSERT INTO t1 values (2,1,1);
SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET c = 2 where a = 2;
+SELECT * FROM t1 ORDER BY a;
--echo *******************************
--echo * Create online Index ci
@@ -240,6 +246,8 @@ ALTER TABLE t1 ADD c CHAR(19);
INSERT INTO t1 values (2,1,"a");
SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET c = 'b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
--echo *******************************
@@ -263,7 +271,8 @@ ALTER TABLE t1 ADD c CHAR(19) DEFAULT 17
INSERT INTO t1 values (2,1,"a");
SELECT * FROM t1 ORDER BY a;
-
+UPDATE t1 SET c = 'b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
--echo *******************************
--echo * Not supported Test#3
--echo *******************************
@@ -279,7 +288,9 @@ select name from ndb_show_tables_results
truncate ndb_show_tables_results;
ALTER TABLE t1 ADD d INT AFTER b;
-
+INSERT INTO t1 VALUES(3,1,1,'b');
+SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET d = 2 where a = 3;
SELECT * FROM t1 ORDER BY a;
--echo *******************************
@@ -315,6 +326,8 @@ ALTER TABLE t1 ADD c TIMESTAMP;
INSERT INTO t1 values (2,2,'2007-09-19 18:46:02');
SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET c = '2007-10-22 16:35:06' where a = 2;
+SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
--echo *******************************
@@ -338,6 +351,8 @@ ALTER TABLE t1 ADD c CHAR(19) NOT NULL;
INSERT INTO t1 values (2,1,"a");
SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET c = 'b' where a = 2;
+SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
--echo *******************************
@@ -361,6 +376,8 @@ ALTER TABLE t1 ADD c CHAR(19) COLUMN_FOR
INSERT INTO t1 values (2,1,"a");
SELECT * FROM t1 ORDER BY a;
+UPDATE t1 SET c = 'b' WHERE a = 2;
+SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
--echo *******************************
@@ -425,9 +442,9 @@ DROP TABLE t1;
######################################
# Bug:30205
######################################
---echo *******************************
---echo * Add column c as nullable TEXT
---echo *******************************
+--echo ****************************************
+--echo * Add column c as nullable TEXT and BLOB
+--echo ****************************************
CREATE TABLE t1 (a INT UNSIGNED AUTO_INCREMENT KEY, b INT DEFAULT 2 COLUMN_FORMAT DYNAMIC) ENGINE NDB;
--source include/ndb_show_tables_result.inc
set @t1_id = (select id from ndb_show_tables_results where name like '%t1%' and type like '%UserTable%');
@@ -445,6 +462,11 @@ ALTER ONLINE TABLE t1 ADD c TEXT;
--source include/ndb_show_tables_result.inc
select name from ndb_show_tables_results where id = @t1_id and name like '%t1%' and type like '%UserTable%';
truncate ndb_show_tables_results;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD d BLOB;
+--source include/ndb_show_tables_result.inc
+select name from ndb_show_tables_results where id = @t1_id and name like '%t1%' and type like '%UserTable%';
+truncate ndb_show_tables_results;
DROP TABLE t1;
######################################
@@ -548,6 +570,9 @@ SELECT COUNT(*) FROM t1 WHERE e IS NULL;
SELECT COUNT(*) FROM t1 WHERE f IS NULL;
SELECT COUNT(*) FROM t1 WHERE g IS NULL;
+UPDATE t1 SET c = 3.402823466E+38, d = 1.2686868689898989E+308, e = 666.66, f = '2007-10-23 23:23:23', g = '1111' WHERE a = 1;
+SELECT * FROM t1 WHERE a = 1 or a = 10 or a = 20 or a = 30 ORDER BY a;
+
##############################
# Backup and restore section #
##############################
@@ -593,7 +618,24 @@ ENGINE=NDB;
--error ER_NOT_SUPPORTED_YET
ALTER ONLINE TABLE t1 CHANGE b b_1 INT COLUMN_FORMAT DYNAMIC;
-
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN c INT COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN d FLOAT COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN e DOUBLE COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN f DATETIME COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN g DECIMAL(5,2) COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN h CHAR(20) COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN h VARCHAR(20) COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN h BINARY(20) COLUMN_FORMAT DYNAMIC;
+--error ER_NOT_SUPPORTED_YET
+ALTER ONLINE TABLE t1 ADD COLUMN h VARBINARY(20) COLUMN_FORMAT DYNAMIC;
DROP TABLE t1;
ALTER TABLESPACE ts1
diff -Nrup a/mysql-test/suite/rpl_ndb/r/rpl_ndb_add_column.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_add_column.result
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_add_column.result 2007-09-04 12:54:18 +08:00
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_add_column.result 2007-11-02 19:10:15 +08:00
@@ -5,51 +5,179 @@ reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
CREATE TABLE t1 (c1 INT KEY) ROW_FORMAT=DYNAMIC ENGINE=NDB;
-INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+INSERT INTO t1 VALUES (1),(2),(3);
ALTER TABLE t1 ADD c2 INT;
SELECT * FROM t1 ORDER BY c1;
c1 c2
1 NULL
2 NULL
3 NULL
-4 NULL
-5 NULL
-6 NULL
-7 NULL
-8 NULL
-9 NULL
-10 NULL
-INSERT INTO t1 VALUES (11,11),(12,12),(13,13),(14,14);
+INSERT INTO t1 VALUES (6,6),(7,7),(8,8);
SELECT * FROM t1 ORDER BY c1;
c1 c2
1 NULL
2 NULL
3 NULL
-4 NULL
-5 NULL
-6 NULL
-7 NULL
-8 NULL
-9 NULL
-10 NULL
-11 11
-12 12
-13 13
-14 14
+6 6
+7 7
+8 8
SELECT * FROM t1 ORDER BY c1;
c1 c2
1 NULL
2 NULL
3 NULL
-4 NULL
-5 NULL
-6 NULL
-7 NULL
-8 NULL
-9 NULL
-10 NULL
-11 11
-12 12
-13 13
-14 14
+6 6
+7 7
+8 8
+ALTER ONLINE TABLE t1 ADD c CHAR(19);
+INSERT INTO t1 values (11,1,"a");
+ALTER ONLINE TABLE t1 ADD d FLOAT;
+INSERT INTO t1 VALUES(12, 2,'b', -3.402823466E+38);
+ALTER ONLINE TABLE t1 ADD e DOUBLE UNSIGNED;
+INSERT INTO t1 VALUES(13, 3,'c', -3.402823466E+38, 1.7976931348623157E+308);
+ALTER ONLINE TABLE t1 ADD f DECIMAL(5,2);
+INSERT INTO t1 VALUES(14, 4,'d', -3.402823466E+38, 1.7976931348623157E+308, 456.78);
+ALTER ONLINE TABLE t1 ADD g DATETIME;
+INSERT INTO t1 VALUES(15, 5,'e', -3.402823466E+38, 1.7976931348623157E+308, 456.78, '2007-10-26 12:00:00');
+ALTER ONLINE TABLE t1 ADD h BINARY(4);
+INSERT INTO t1 VALUES(16, 6,'f', -3.402823466E+38, 1.7976931348623157E+308, 456.78, '2007-10-26 12:00:00',"abcd");
+**********************
+"Master data"
+**********************
+SELECT * FROM t1 ORDER BY c1;
+c1 c2 c d e f g h
+1 NULL NULL NULL NULL NULL NULL NULL
+2 NULL NULL NULL NULL NULL NULL NULL
+3 NULL NULL NULL NULL NULL NULL NULL
+6 6 NULL NULL NULL NULL NULL NULL
+7 7 NULL NULL NULL NULL NULL NULL
+8 8 NULL NULL NULL NULL NULL NULL
+11 1 a NULL NULL NULL NULL NULL
+12 2 b -3.40282e+38 NULL NULL NULL NULL
+13 3 c -3.40282e+38 1.79769313486232e+308 NULL NULL NULL
+14 4 d -3.40282e+38 1.79769313486232e+308 456.78 NULL NULL
+15 5 e -3.40282e+38 1.79769313486232e+308 456.78 2007-10-26 12:00:00 NULL
+16 6 f -3.40282e+38 1.79769313486232e+308 456.78 2007-10-26 12:00:00 abcd
+**********************
+"Slave data"
+**********************
+SELECT * FROM t1 ORDER BY c1;
+c1 c2 c d e f g h
+1 NULL NULL NULL NULL NULL NULL NULL
+2 NULL NULL NULL NULL NULL NULL NULL
+3 NULL NULL NULL NULL NULL NULL NULL
+6 6 NULL NULL NULL NULL NULL NULL
+7 7 NULL NULL NULL NULL NULL NULL
+8 8 NULL NULL NULL NULL NULL NULL
+11 1 a NULL NULL NULL NULL NULL
+12 2 b -3.40282e+38 NULL NULL NULL NULL
+13 3 c -3.40282e+38 1.79769313486232e+308 NULL NULL NULL
+14 4 d -3.40282e+38 1.79769313486232e+308 456.78 NULL NULL
+15 5 e -3.40282e+38 1.79769313486232e+308 456.78 2007-10-26 12:00:00 NULL
+16 6 f -3.40282e+38 1.79769313486232e+308 456.78 2007-10-26 12:00:00 abcd
+UPDATE t1 SET c = "abcdef", d = 3.402823466E+38, e = 1.7976931348623157E+308, f = 987.65, g = '2007-10-22 22:22:22', h = "aaaa";
+***************************
+"Master Data After Update"
+***************************
+SELECT * FROM t1 ORDER BY c1;
+c1 c2 c d e f g h
+1 NULL abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+2 NULL abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+3 NULL abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+6 6 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+7 7 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+8 8 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+11 1 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+12 2 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+13 3 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+14 4 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+15 5 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+16 6 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+*************************
+"Slave Data After Update"
+*************************
+SELECT * FROM t1 ORDER BY c1;
+c1 c2 c d e f g h
+1 NULL abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+2 NULL abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+3 NULL abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+6 6 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+7 7 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+8 8 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+11 1 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+12 2 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+13 3 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+14 4 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+15 5 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+16 6 abcdef 3.40282e+38 1.79769313486232e+308 987.65 2007-10-22 22:22:22 aaaa
+DROP TABLE t1;
+*************************************************
+* Insert And Update New Added Columns With Commit
+*************************************************
+CREATE TABLE t1 (a INT UNSIGNED KEY, b INT UNSIGNED) ROW_FORMAT=DYNAMIC ENGINE NDB;
+INSERT INTO t1 VALUES(1,1),(2,2);
+BEGIN;
+ALTER ONLINE TABLE t1 ADD c CHAR(19), ADD d VARCHAR(255), ADD e char(255);
+INSERT INTO t1 VALUES (3,0,'3','3','3'),(4,0,'4','4','4'),(5,0,null,null,null);
+UPDATE t1 SET c = 'aaa', d = 'bbb', e = 'ccc' WHERE a = 4;
+COMMIT;
+SELECT * FROM t1 ORDER BY a;
+a b c d e
+1 1 NULL NULL NULL
+2 2 NULL NULL NULL
+3 0 3 3 3
+4 0 aaa bbb ccc
+5 0 NULL NULL NULL
+*************************
+"Slave Data With Commit
+*************************
+SELECT * FROM t1 ORDER BY a;
+a b c d e
+1 1 NULL NULL NULL
+2 2 NULL NULL NULL
+3 0 3 3 3
+4 0 aaa bbb ccc
+5 0 NULL NULL NULL
+***************************************************
+* Insert And Update New Added Columns With Rollback
+***************************************************
+DROP TABLE t1;
+CREATE TABLE t1 (a INT UNSIGNED KEY, b INT UNSIGNED) ROW_FORMAT=DYNAMIC ENGINE NDB;
+INSERT INTO t1 VALUES(1,1),(2,2);
+ALTER TABLE t1 ADD c CHAR(19), ADD d VARCHAR(255), ADD e char(255);
+BEGIN;
+INSERT INTO t1 VALUES (3,0,'3','3','3'),(4,0,'4','4','4'),(5,0,null,null,null);
+UPDATE t1 SET c = 'aaa', d = 'bbb', e = 'ccc' WHERE a = 4;
+ROLLBACK;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(10) unsigned NOT NULL,
+ `b` int(10) unsigned DEFAULT NULL,
+ `c` char(19) DEFAULT NULL,
+ `d` varchar(255) DEFAULT NULL,
+ `e` char(255) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SELECT * FROM t1 ORDER BY a;
+a b c d e
+1 1 NULL NULL NULL
+2 2 NULL NULL NULL
+*************************
+"Slave Data With Rollback
+*************************
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(10) unsigned NOT NULL,
+ `b` int(10) unsigned DEFAULT NULL,
+ `c` char(19) DEFAULT NULL,
+ `d` varchar(255) DEFAULT NULL,
+ `e` char(255) DEFAULT NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
+SELECT * FROM t1 ORDER BY a;
+a b c d e
+1 1 NULL NULL NULL
+2 2 NULL NULL NULL
DROP TABLE t1;
diff -Nrup a/mysql-test/suite/rpl_ndb/t/rpl_ndb_add_column.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_add_column.test
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_add_column.test 2007-09-06 00:04:43 +08:00
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_add_column.test 2007-11-02 19:10:15 +08:00
@@ -7,7 +7,7 @@
--connection master
CREATE TABLE t1 (c1 INT KEY) ROW_FORMAT=DYNAMIC ENGINE=NDB;
-INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+INSERT INTO t1 VALUES (1),(2),(3);
ALTER TABLE t1 ADD c2 INT;
@@ -17,12 +17,99 @@ SELECT * FROM t1 ORDER BY c1;
connection master;
-INSERT INTO t1 VALUES (11,11),(12,12),(13,13),(14,14);
+INSERT INTO t1 VALUES (6,6),(7,7),(8,8);
SELECT * FROM t1 ORDER BY c1;
--sync_slave_with_master
connection slave;
SELECT * FROM t1 ORDER BY c1;
+
+#
+# Test online alter table for various types
+#
+connection master;
+ALTER ONLINE TABLE t1 ADD c CHAR(19);
+INSERT INTO t1 values (11,1,"a");
+ALTER ONLINE TABLE t1 ADD d FLOAT;
+INSERT INTO t1 VALUES(12, 2,'b', -3.402823466E+38);
+ALTER ONLINE TABLE t1 ADD e DOUBLE UNSIGNED;
+INSERT INTO t1 VALUES(13, 3,'c', -3.402823466E+38, 1.7976931348623157E+308);
+ALTER ONLINE TABLE t1 ADD f DECIMAL(5,2);
+INSERT INTO t1 VALUES(14, 4,'d', -3.402823466E+38, 1.7976931348623157E+308, 456.78);
+ALTER ONLINE TABLE t1 ADD g DATETIME;
+INSERT INTO t1 VALUES(15, 5,'e', -3.402823466E+38, 1.7976931348623157E+308, 456.78, '2007-10-26 12:00:00');
+ALTER ONLINE TABLE t1 ADD h BINARY(4);
+INSERT INTO t1 VALUES(16, 6,'f', -3.402823466E+38, 1.7976931348623157E+308, 456.78, '2007-10-26 12:00:00',"abcd");
+--echo **********************
+--echo "Master data"
+--echo **********************
+SELECT * FROM t1 ORDER BY c1;
+--sync_slave_with_master
+connection slave;
+--echo **********************
+--echo "Slave data"
+--echo **********************
+SELECT * FROM t1 ORDER BY c1;
+
+#
+# Update the new added column
+#
+connection master;
+UPDATE t1 SET c = "abcdef", d = 3.402823466E+38, e = 1.7976931348623157E+308, f = 987.65, g = '2007-10-22 22:22:22', h = "aaaa";
+--echo ***************************
+--echo "Master Data After Update"
+--echo ***************************
+SELECT * FROM t1 ORDER BY c1;
+--sync_slave_with_master
+connection slave;
+--echo *************************
+--echo "Slave Data After Update"
+--echo *************************
+SELECT * FROM t1 ORDER BY c1;
+
+connection master;
+DROP TABLE t1;
+
+--echo *************************************************
+--echo * Insert And Update New Added Columns With Commit
+--echo *************************************************
+connection master;
+CREATE TABLE t1 (a INT UNSIGNED KEY, b INT UNSIGNED) ROW_FORMAT=DYNAMIC ENGINE NDB;
+INSERT INTO t1 VALUES(1,1),(2,2);
+BEGIN;
+ALTER ONLINE TABLE t1 ADD c CHAR(19), ADD d VARCHAR(255), ADD e char(255);
+INSERT INTO t1 VALUES (3,0,'3','3','3'),(4,0,'4','4','4'),(5,0,null,null,null);
+UPDATE t1 SET c = 'aaa', d = 'bbb', e = 'ccc' WHERE a = 4;
+COMMIT;
+SELECT * FROM t1 ORDER BY a;
+--sync_slave_with_master
+connection slave;
+--echo *************************
+--echo "Slave Data With Commit
+--echo *************************
+SELECT * FROM t1 ORDER BY a;
+
+--echo ***************************************************
+--echo * Insert And Update New Added Columns With Rollback
+--echo ***************************************************
+connection master;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT UNSIGNED KEY, b INT UNSIGNED) ROW_FORMAT=DYNAMIC ENGINE NDB;
+INSERT INTO t1 VALUES(1,1),(2,2);
+ALTER TABLE t1 ADD c CHAR(19), ADD d VARCHAR(255), ADD e char(255);
+BEGIN;
+INSERT INTO t1 VALUES (3,0,'3','3','3'),(4,0,'4','4','4'),(5,0,null,null,null);
+UPDATE t1 SET c = 'aaa', d = 'bbb', e = 'ccc' WHERE a = 4;
+ROLLBACK;
+SHOW CREATE TABLE t1;
+SELECT * FROM t1 ORDER BY a;
+--sync_slave_with_master
+connection slave;
+--echo *************************
+--echo "Slave Data With Rollback
+--echo *************************
+SHOW CREATE TABLE t1;
+SELECT * FROM t1 ORDER BY a;
# cleanup
--connection master
| Thread |
|---|
| • bk commit into 5.1 tree (gni:1.2663) | gni | 2 Nov |