mirror of
https://github.com/MariaDB/server.git
synced 2025-09-03 20:43:11 +03:00
- dynamic configuration support - safe process - cleanups - create new suite for fedarated BitKeeper/deleted/.del-basic.test: Rename: mysql-test/ndb/basic.test -> BitKeeper/deleted/.del-basic.test BitKeeper/deleted/.del-basic_log.result: Rename: mysql-test/ndb/basic_log.result -> BitKeeper/deleted/.del-basic_log.result mysql-test/suite/federated/federated_transactions.result: Rename: mysql-test/r/federated_transactions.result -> mysql-test/suite/federated/federated_transactions.result BitKeeper/deleted/.del-have_bug25714.require: Rename: mysql-test/r/have_bug25714.require -> BitKeeper/deleted/.del-have_bug25714.require BitKeeper/deleted/.del-kill_master.sh: Rename: mysql-test/misc/kill_master.sh -> BitKeeper/deleted/.del-kill_master.sh BitKeeper/deleted/.del-ndb_config_4_node.ini~d8e572e9b68f933a: Rename: mysql-test/ndb/ndb_config_4_node.ini -> BitKeeper/deleted/.del-ndb_config_4_node.ini~d8e572e9b68f933a BitKeeper/deleted/.del-restart.result: Rename: mysql-test/ndb/restart.result -> BitKeeper/deleted/.del-restart.result mysql-test/suite/federated/federated_cleanup.inc: Rename: mysql-test/include/federated_cleanup.inc -> mysql-test/suite/federated/federated_cleanup.inc mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt: Rename: mysql-test/suite/rpl/t/rpl_rotate_logs.slave-mi -> mysql-test/suite/rpl/t/rpl_rotate_logs-slave.opt BitKeeper/deleted/.del-install_test_db.sh: Rename: mysql-test/install_test_db.sh -> BitKeeper/deleted/.del-install_test_db.sh BitKeeper/deleted/.del-ndb_config_1_node.ini~7ec640ed25570e16: Rename: mysql-test/ndb/ndb_config_1_node.ini -> BitKeeper/deleted/.del-ndb_config_1_node.ini~7ec640ed25570e16 BitKeeper/deleted/.del-mtr_timer.pl: Rename: mysql-test/lib/mtr_timer.pl -> BitKeeper/deleted/.del-mtr_timer.pl BitKeeper/deleted/.del-create-test-result: Rename: mysql-test/create-test-result -> BitKeeper/deleted/.del-create-test-result BitKeeper/deleted/.del-fix-result: Rename: mysql-test/fix-result -> BitKeeper/deleted/.del-fix-result BitKeeper/deleted/.del-mysql-test-run-shell.sh: Rename: mysql-test/mysql-test-run-shell.sh -> BitKeeper/deleted/.del-mysql-test-run-shell.sh BitKeeper/deleted/.del-mysql-test_V1.9.pl: Rename: mysql-test/misc/mysql-test_V1.9.pl -> BitKeeper/deleted/.del-mysql-test_V1.9.pl BitKeeper/deleted/.del-resolve-stack: Rename: mysql-test/resolve-stack -> BitKeeper/deleted/.del-resolve-stack BitKeeper/deleted/.del-restart_log.result: Rename: mysql-test/ndb/restart_log.result -> BitKeeper/deleted/.del-restart_log.result mysql-test/suite/rpl/t/rpl_000015-slave.opt: Rename: mysql-test/suite/rpl/t/rpl_000015.slave-mi -> mysql-test/suite/rpl/t/rpl_000015-slave.opt BitKeeper/deleted/.del-ndb_config_2_node.ini: Rename: mysql-test/ndb/ndb_config_2_node.ini -> BitKeeper/deleted/.del-ndb_config_2_node.ini BitKeeper/deleted/.del-ndbcluster.sh: Rename: mysql-test/ndb/ndbcluster.sh -> BitKeeper/deleted/.del-ndbcluster.sh BitKeeper/deleted/.del-basic.result: Rename: mysql-test/ndb/basic.result -> BitKeeper/deleted/.del-basic.result BitKeeper/deleted/.del-restart.test: Rename: mysql-test/ndb/restart.test -> BitKeeper/deleted/.del-restart.test BitKeeper/deleted/.del-have_bug25714.inc: Rename: mysql-test/include/have_bug25714.inc -> BitKeeper/deleted/.del-have_bug25714.inc BitKeeper/deleted/.del-mtr_diff.pl: Rename: mysql-test/lib/mtr_diff.pl -> BitKeeper/deleted/.del-mtr_diff.pl mysql-test/suite/federated/federated_transactions-slave.opt: Rename: mysql-test/t/federated_transactions-slave.opt -> mysql-test/suite/federated/federated_transactions-slave.opt BitKeeper/deleted/.del-Makefile.am~343467da4d0f211b: Rename: mysql-test/ndb/Makefile.am -> BitKeeper/deleted/.del-Makefile.am~343467da4d0f211b BitKeeper/deleted/.del-mtr_im.pl~9762b0336c28949: Rename: mysql-test/lib/mtr_im.pl -> BitKeeper/deleted/.del-mtr_im.pl~9762b0336c28949 mysql-test/suite/federated/federated_innodb-slave.opt: Rename: mysql-test/t/federated_innodb-slave.opt -> mysql-test/suite/federated/federated_innodb-slave.opt client/mysqltest.c: Use current files path first when looking for include file configure.in: Remove mysql-test/nbd mysql-test/Makefile.am: Cleanup mysql-test/Makefile.am mysql-test/extra/binlog_tests/blackhole.test: Use new paths mysql-test/extra/binlog_tests/ctype_ucs_binlog.test: Use new paths mysql-test/mysql-test-run.pl: Dynamic configuration support Safe process mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test: Use new paths mysql-test/extra/rpl_tests/rpl_EE_err.test: Use new paths mysql-test/extra/rpl_tests/rpl_loaddata.test: Use new paths mysql-test/extra/rpl_tests/rpl_log.test: Use new paths mysql-test/extra/rpl_tests/rpl_row_001.test: Use new paths mysql-test/extra/rpl_tests/rpl_row_charset.test: Use new paths mysql-test/extra/rpl_tests/rpl_stm_000001.test: Use new paths mysql-test/extra/rpl_tests/rpl_stm_charset.test: Use new paths mysql-test/include/have_blackhole.inc: Use new paths mysql-test/include/have_ndbapi_examples.inc: Use new paths mysql-test/include/loaddata_autocom.inc: Use new paths mysql-test/include/mix1.inc: Use new paths mysql-test/include/ndb_backup.inc: Use new paths mysql-test/include/ndb_restore_master.inc: Use new paths mysql-test/include/ndb_restore_slave_eoption.inc: Use new paths mysql-test/include/testdb_only.inc: Use new paths mysql-test/lib/My/Config.pm: dynamic configuration safe process cleanups mysql-test/lib/mtr_cases.pm: dynamic configuration safe process cleanups mysql-test/lib/mtr_io.pl: dynamic configuration safe process cleanups mysql-test/lib/mtr_misc.pl: dynamic configuration safe process cleanups mysql-test/lib/mtr_process.pl: dynamic configuration safe process cleanups mysql-test/lib/mtr_report.pl: dynamic configuration safe process cleanups mysql-test/lib/mtr_stress.pl: dynamic configuration safe process cleanups mysql-test/r/backup.result: Use new paths mysql-test/r/ctype_big5.result: Use new paths mysql-test/r/gis.result: Use new paths mysql-test/r/loaddata.result: Use new paths mysql-test/r/loaddata_autocom_innodb.result: Use new paths mysql-test/r/mysqlbinlog.result: Use new paths mysql-test/r/mysqlbinlog_base64.result: Use new paths mysql-test/r/outfile.result: Use new paths mysql-test/r/partition_error.result: Use new paths mysql-test/r/partition_not_windows.result: Use new paths mysql-test/r/partition_symlink.result: Use new paths mysql-test/r/query_cache.result: Use new paths mysql-test/r/sp.result: Use new paths mysql-test/r/symlink.result: Use new paths mysql-test/r/system_mysql_db.result: Use new paths mysql-test/r/trigger.result: Use new paths mysql-test/r/type_blob.result: Use new paths mysql-test/r/view.result: Use new paths mysql-test/r/warnings.result: Use new paths mysql-test/suite/binlog/r/binlog_killed_simulate.result: Use new paths mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result: Use new paths mysql-test/suite/binlog/r/binlog_stm_blackhole.result: Use new paths mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result: Use new paths mysql-test/suite/binlog/t/binlog_killed.test: Use new paths mysql-test/suite/binlog/t/binlog_killed_simulate.test: Use new paths mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test: Use new paths mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test: Use new paths mysql-test/suite/federated/federated.inc: Use new paths mysql-test/suite/federated/federated.result: Use new paths mysql-test/suite/federated/federated.test: Use new paths mysql-test/suite/federated/federated_archive.result: Use new paths mysql-test/suite/federated/federated_archive.test: Use new paths mysql-test/suite/federated/federated_bug_13118.result: Use new paths mysql-test/suite/federated/federated_bug_13118.test: Use new paths mysql-test/suite/federated/federated_bug_25714.result: Use new paths mysql-test/suite/federated/federated_bug_25714.test: Use new paths mysql-test/suite/federated/federated_innodb.result: Use new paths mysql-test/suite/federated/federated_innodb.test: Use new paths mysql-test/suite/federated/federated_server.result: Use new paths mysql-test/suite/federated/federated_server.test: Use new paths mysql-test/suite/federated/federated_transactions.test: Use new paths mysql-test/suite/federated/have_federated_db.inc: Use new paths mysql-test/suite/ndb/r/loaddata_autocom_ndb.result: Use new paths mysql-test/suite/ndb/r/ndb_config.result: Use new paths mysql-test/suite/ndb/r/ndb_dd_backuprestore.result: Use new paths mysql-test/suite/ndb/r/ndb_load.result: Use new paths mysql-test/suite/ndb/r/ndb_loaddatalocal.result: Use new paths mysql-test/suite/ndb/r/ndb_replace.result: Use new paths mysql-test/suite/ndb/r/ndb_restore.result: Use new paths mysql-test/suite/ndb/r/ndb_restore_partition.result: Use new paths mysql-test/suite/ndb/r/ndb_restore_print.result: Use new paths mysql-test/suite/ndb/r/ndb_trigger.result: Use new paths mysql-test/suite/ndb/t/ndb_alter_table.test: Use new paths mysql-test/suite/ndb/t/ndb_config.test: Use new paths mysql-test/suite/ndb/t/ndb_load.test: Use new paths mysql-test/suite/ndb/t/ndb_loaddatalocal.test: Use new paths mysql-test/suite/ndb/t/ndb_replace.test: Use new paths mysql-test/suite/ndb/t/ndb_restore.test: Use new paths mysql-test/suite/ndb/t/ndb_single_user.test: Use new paths mysql-test/suite/ndb/t/ndb_trigger.test: Use new paths mysql-test/suite/ndb/t/ndbapi.test: Use new paths mysql-test/suite/rpl/include/rpl_mixed_dml.inc: Use new paths mysql-test/suite/rpl/r/rpl_LD_INFILE.result: Use new paths mysql-test/suite/rpl/r/rpl_flushlog_loop.result: Use new paths mysql-test/suite/rpl/r/rpl_innodb.result: Use new paths mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result: Use new paths mysql-test/suite/rpl/r/rpl_load_table_from_master.result: Use new paths mysql-test/suite/rpl/r/rpl_loaddata.result: Use new paths mysql-test/suite/rpl/r/rpl_loaddata_charset.result: Use new paths mysql-test/suite/rpl/r/rpl_loaddata_fatal.result: Use new paths mysql-test/suite/rpl/r/rpl_loaddata_m.result: Use new paths mysql-test/suite/rpl/r/rpl_loaddata_s.result: Use new paths mysql-test/suite/rpl/r/rpl_loaddata_simple.result: Use new paths mysql-test/suite/rpl/r/rpl_loaddatalocal.result: Use new paths mysql-test/suite/rpl/r/rpl_loadfile.result: Use new paths mysql-test/suite/rpl/r/rpl_misc_functions.result: Use new paths mysql-test/suite/rpl/r/rpl_replicate_do.result: Use new paths mysql-test/suite/rpl/r/rpl_rewrt_db.result: Use new paths mysql-test/suite/rpl/r/rpl_row_001.result: Use new paths mysql-test/suite/rpl/r/rpl_row_loaddata_m.result: Use new paths mysql-test/suite/rpl/r/rpl_row_log.result: Use new paths mysql-test/suite/rpl/r/rpl_row_log_innodb.result: Use new paths mysql-test/suite/rpl/r/rpl_row_stop_middle_update.result: Use new paths mysql-test/suite/rpl/r/rpl_stm_000001.result: Use new paths mysql-test/suite/rpl/r/rpl_stm_log.result: Use new paths mysql-test/suite/rpl/r/rpl_timezone.result: Use new paths mysql-test/suite/rpl/t/disabled.def: Use new paths mysql-test/suite/rpl/t/rpl000017-slave.sh: Use new paths mysql-test/suite/rpl/t/rpl_LD_INFILE.test: Use new paths mysql-test/suite/rpl/t/rpl_drop_db.test: Use new paths mysql-test/suite/rpl/t/rpl_flushlog_loop-master.opt: Use new paths mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.opt: Use new paths mysql-test/suite/rpl/t/rpl_flushlog_loop.test: Use new paths mysql-test/suite/rpl/t/rpl_innodb.test: Use new paths mysql-test/suite/rpl/t/rpl_innodb_bug30919.test: Use new paths mysql-test/suite/rpl/t/rpl_load_from_master.test: Use new paths mysql-test/suite/rpl/t/rpl_load_table_from_master.test: Use new paths mysql-test/suite/rpl/t/rpl_loaddata_charset.test: Use new paths mysql-test/suite/rpl/t/rpl_loaddata_fatal.test: Use new paths mysql-test/suite/rpl/t/rpl_loaddata_m.test: Use new paths mysql-test/suite/rpl/t/rpl_loaddata_s.test: Use new paths mysql-test/suite/rpl/t/rpl_loaddata_simple.test: Use new paths mysql-test/suite/rpl/t/rpl_loaddatalocal.test: Use new paths mysql-test/suite/rpl/t/rpl_loadfile.test: Use new paths mysql-test/suite/rpl/t/rpl_misc_functions.test: Use new paths mysql-test/suite/rpl/t/rpl_replicate_do.test: Use new paths mysql-test/suite/rpl/t/rpl_rewrt_db.test: Use new paths mysql-test/suite/rpl/t/rpl_rotate_logs-master.opt: Use new paths mysql-test/suite/rpl/t/rpl_rotate_logs.test: Use new paths mysql-test/suite/rpl/t/rpl_row_charset_innodb.test: Use new paths mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test: Use new paths mysql-test/suite/rpl/t/rpl_row_stop_middle_update.test: Use new paths mysql-test/suite/rpl/t/rpl_timezone.test: Use new paths mysql-test/suite/rpl/t/rpl_trigger.test: Use new paths mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result: Use new paths mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb_trans.result: Use new paths mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result: Use new paths mysql-test/suite/rpl_ndb/r/rpl_ndb_multi.result: Use new paths mysql-test/suite/rpl_ndb/r/rpl_ndb_row_001.result: Use new paths mysql-test/suite/rpl_ndb/r/rpl_ndb_sync.result: Use new paths mysql-test/suite/rpl_ndb/t/rpl_ndb_bank.test: Use new paths mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test: Use new paths mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: Use new paths mysql-test/suite/rpl_ndb/t/rpl_ndb_load.test: Use new paths mysql-test/suite/rpl_ndb/t/rpl_ndb_sync.test: Use new paths mysql-test/suite/rpl_ndb/t/rpl_ndbapi_multi.test: Use new paths mysql-test/t/backup.test: Use new paths mysql-test/t/bootstrap.test: Use new paths mysql-test/t/crash_commit_before.test: Use new paths mysql-test/t/create_not_windows.test: Use new paths mysql-test/t/csv.test: Use new paths mysql-test/t/ctype_big5.test: Use new paths mysql-test/t/disabled.def: Use new paths mysql-test/t/distinct.test: Use new paths mysql-test/t/gis.test: Use new paths mysql-test/t/grant_cache_no_prot.test: Use new paths mysql-test/t/grant_cache_ps_prot.test: Use new paths mysql-test/t/information_schema_chmod.test: Use new paths mysql-test/t/loaddata.test: Use new paths mysql-test/t/log_state.test: Use new paths mysql-test/t/myisam-system.test: Use new paths mysql-test/t/mysql_upgrade.test: Use new paths mysql-test/t/mysqlbinlog-cp932.test: Use new paths mysql-test/t/mysqlbinlog.test: Use new paths mysql-test/t/mysqlbinlog2.test: Use new paths mysql-test/t/mysqlbinlog_base64.test: Use new paths mysql-test/t/mysqldump.test: Use new paths mysql-test/t/outfile.test: Use new paths mysql-test/t/partition.test: Use new paths mysql-test/t/partition_error.test: Use new paths mysql-test/t/partition_federated.test: Use new paths mysql-test/t/partition_mgm.test: Use new paths mysql-test/t/partition_not_windows.test: Use new paths mysql-test/t/partition_symlink.test: Use new paths mysql-test/t/query_cache.test: Use new paths mysql-test/t/repair.test: Use new paths mysql-test/t/show_check.test: Use new paths mysql-test/t/sp-destruct.test: Use new paths mysql-test/t/sp.test: Use new paths mysql-test/t/symlink.test: Use new paths mysql-test/t/system_mysql_db.test: Use new paths mysql-test/t/system_mysql_db_fix30020.test: Use new paths mysql-test/t/system_mysql_db_fix40123.test: Use new paths mysql-test/t/system_mysql_db_fix50030.test: Use new paths mysql-test/t/system_mysql_db_fix50117.test: Use new paths mysql-test/t/trigger-compat.test: Use new paths mysql-test/t/trigger-grant.test: Use new paths mysql-test/t/trigger.test: Use new paths mysql-test/t/type_blob.test: Use new paths mysql-test/t/type_varchar.test: Use new paths mysql-test/t/upgrade.test: Use new paths mysql-test/t/user_var-binlog.test: Use new paths mysql-test/t/varbinary.test: Use new paths mysql-test/t/view.test: Use new paths mysql-test/t/warnings.test: Use new paths mysql-test/lib/My/ConfigFactory.pm: Initial version mysql-test/lib/My/Find.pm: Initial version mysql-test/lib/My/SafeProcess.pm: Initial version mysql-test/std_data/ndb_config_config.ini: Add "old" style config.ini for ndb mysql-test/suite/federated/disabled.def: Move disabled federated to it's new suite mysql-test/suite/federated/my.cnf: Add config for federated mysql-test/suite/ndb/my.cnf: Add config for ndb mysql-test/suite/rpl/my.cnf: Add config for rpl mysql-test/suite/rpl/rpl_1slave_base.cnf: Add base config for rpl mysql-test/suite/rpl/t/rpl_000015-master.opt: Use new paths mysql-test/suite/rpl_ndb/my.cnf: Add config for rpl_ndb mysql-test/lib/My/File/Path.pm: Initial version mysql-test/lib/My/SafeProcess/Base.pm: Initial version mysql-test/lib/My/SafeProcess/safe_kill_win.cc: Initial version mysql-test/lib/My/SafeProcess/safe_process.pl: Initial version mysql-test/lib/My/SafeProcess/safe_process_win.cc: Initial version mysql-test/lib/t/Base.t: Initial version mysql-test/lib/t/Find.t: Initial version mysql-test/lib/t/SafeProcess.t: Initial version mysql-test/lib/t/SafeProcessStress.pl: Initial version mysql-test/lib/t/copytree.t: Initial version mysql-test/lib/t/dummyd.pl: Initial version mysql-test/lib/t/rmtree.t: Initial version mysql-test/lib/t/testMyConfig.t: Initial version mysql-test/lib/t/testMyConfigFactory.t: Initial version mysql-test/lib/t/test_child.pl: Initial version mysql-test/include/default_my.cnf: Add default config file used when no suite specific file is found mysql-test/include/default_mysqld.cnf: New BitKeeper file ``mysql-test/include/default_mysqld.cnf'' mysql-test/include/default_ndbd.cnf: Add default settings for all ndbds mysql-test/lib/mtr_settings.pl: Initial version
440 lines
11 KiB
Plaintext
440 lines
11 KiB
Plaintext
-- source include/have_multi_ndb.inc
|
|
-- source include/not_embedded.inc
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1, t2;
|
|
drop database if exists mysqltest;
|
|
--enable_warnings
|
|
|
|
connect (con1,localhost,root,,test);
|
|
connect (con2,localhost,root,,test);
|
|
|
|
connection con2;
|
|
-- sleep 2
|
|
connection con1;
|
|
|
|
#
|
|
# Basic test to show that the ALTER TABLE
|
|
# is working
|
|
#
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (9410,9412);
|
|
|
|
ALTER TABLE t1 ADD COLUMN c int not null;
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
# Verfify changing table names between databases
|
|
#
|
|
CREATE DATABASE mysqltest;
|
|
USE mysqltest;
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
RENAME TABLE t1 TO test.t1;
|
|
SHOW TABLES;
|
|
DROP DATABASE mysqltest;
|
|
USE test;
|
|
SHOW TABLES;
|
|
DROP TABLE t1;
|
|
|
|
#
|
|
# More advanced test
|
|
#
|
|
create table t1 (
|
|
col1 int not null auto_increment primary key,
|
|
col2 varchar(30) not null,
|
|
col3 varchar (20) not null,
|
|
col4 varchar(4) not null,
|
|
col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
|
|
col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
|
|
--replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
|
|
show table status;
|
|
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
|
insert into t1 values
|
|
(0,4,3,5,"PENDING",1,7),(NULL,4,3,5,"PENDING",1,7),(31,4,3,5,"PENDING",1,7), (7,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7), (100,4,3,5,"PENDING",1,7), (99,4,3,5,"PENDING",1,7), (8,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7);
|
|
--replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
|
|
show table status;
|
|
select * from t1 order by col1;
|
|
alter table t1
|
|
add column col4_5 varchar(20) not null after col4,
|
|
add column col7 varchar(30) not null after col5,
|
|
add column col8 datetime not null, drop column to_be_deleted,
|
|
change column col2 fourth varchar(30) not null after col3,
|
|
modify column col6 int not null first;
|
|
--replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
|
|
show table status;
|
|
select * from t1 order by col1;
|
|
insert into t1 values (2, NULL,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
--replace_column 6 # 7 # 8 # 10 # 12 # 13 # 14 # 18 #
|
|
show table status;
|
|
select * from t1 order by col1;
|
|
delete from t1;
|
|
insert into t1 values (0,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
SET SQL_MODE='';
|
|
insert into t1 values (1,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
select * from t1 order by col1;
|
|
alter table t1 drop column col4_5;
|
|
insert into t1 values (2,0,4,3,5,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
|
select * from t1 order by col1;
|
|
drop table t1;
|
|
|
|
|
|
#
|
|
# Check that invalidating dictionary cache works
|
|
#
|
|
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (9410,9412);
|
|
|
|
ALTER TABLE t1 ADD COLUMN c int not null;
|
|
select * from t1 order by a;
|
|
|
|
connection con2;
|
|
select * from t1 order by a;
|
|
alter table t1 drop c;
|
|
|
|
connection con1;
|
|
select * from t1 order by a;
|
|
drop table t1;
|
|
|
|
connection con2;
|
|
--error 1146
|
|
select * from t1 order by a;
|
|
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL PRIMARY KEY,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (0,1),(17,18);
|
|
select * from t1 order by a;
|
|
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
|
alter table t1 modify column a int not null auto_increment;
|
|
SET SQL_MODE='';
|
|
select * from t1 order by a;
|
|
INSERT INTO t1 VALUES (0,19),(20,21);
|
|
select * from t1 order by a;
|
|
drop table t1;
|
|
|
|
CREATE TABLE t1 (
|
|
a INT NOT NULL PRIMARY KEY,
|
|
b INT NOT NULL
|
|
) ENGINE=ndbcluster;
|
|
|
|
INSERT INTO t1 VALUES (0,1),(17,18);
|
|
select * from t1 order by a;
|
|
alter table t1 add c int not null unique auto_increment;
|
|
select c from t1 order by c;
|
|
INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
|
|
select c from t1 order by c;
|
|
drop table t1;
|
|
|
|
## Test moved to ndb_alter_table_row|stmt respectively as behaviour differs
|
|
#create table t1 ( a int primary key, b varchar(10), c varchar(10), index (b) )
|
|
#engine=ndb;
|
|
#insert into t1 values (1,'one','one'), (2,'two','two'), (3,'three','three');
|
|
#create index c on t1(c);
|
|
#connection server2;
|
|
#select * from t1 where c = 'two';
|
|
#connection server1;
|
|
#alter table t1 drop index c;
|
|
#connection server2;
|
|
#select * from t1 where c = 'two';
|
|
#connection server1;
|
|
#drop table t1;
|
|
|
|
#--disable_warnings
|
|
#DROP TABLE IF EXISTS t2;
|
|
#--enable_warnings
|
|
|
|
#create table t2 (a int NOT NULL PRIMARY KEY) engine=myisam;
|
|
#let $1=12001;
|
|
#disable_query_log;
|
|
#while ($1)
|
|
#{
|
|
# eval insert into t2 values($1);
|
|
# dec $1;
|
|
#}
|
|
#enable_query_log;
|
|
#alter table t2 engine=ndbcluster;
|
|
#alter table t2 add c int;
|
|
#--error 1297
|
|
#delete from t2;
|
|
#to make sure we do a full table scan
|
|
#select count(*) from t2 where a+0 > 0;
|
|
#truncate table t2;
|
|
#select count(*) from t2;
|
|
#drop table t2;
|
|
|
|
## Test moved to ndb_alter_table_row|stmt respectively as behaviour differs
|
|
#connection server1;
|
|
#create table t3 (a int primary key) engine=ndbcluster;
|
|
|
|
#connection server2;
|
|
#begin;
|
|
#insert into t3 values (1);
|
|
|
|
#connection server1;
|
|
#alter table t3 rename t4;
|
|
|
|
#connection server2;
|
|
## with rbr the below will not work as the "alter" event
|
|
## explicitly invalidates the dictionary cache.
|
|
### This should work as transaction is ongoing...
|
|
##delete from t3;
|
|
##insert into t3 values (1);
|
|
#commit;
|
|
|
|
## This should fail as its a new transaction
|
|
#--error 1146
|
|
#select * from t3;
|
|
#select * from t4;
|
|
#drop table t4;
|
|
#show tables;
|
|
#connection server1;
|
|
|
|
create table t1 (
|
|
ai bigint auto_increment,
|
|
c001 int(11) not null,
|
|
c002 int(11) not null,
|
|
c003 int(11) not null,
|
|
c004 int(11) not null,
|
|
c005 int(11) not null,
|
|
c006 int(11) not null,
|
|
c007 int(11) not null,
|
|
c008 int(11) not null,
|
|
c009 int(11) not null,
|
|
c010 int(11) not null,
|
|
c011 int(11) not null,
|
|
c012 int(11) not null,
|
|
c013 int(11) not null,
|
|
c014 int(11) not null,
|
|
c015 int(11) not null,
|
|
c016 int(11) not null,
|
|
c017 int(11) not null,
|
|
c018 int(11) not null,
|
|
c019 int(11) not null,
|
|
c020 int(11) not null,
|
|
c021 int(11) not null,
|
|
c022 int(11) not null,
|
|
c023 int(11) not null,
|
|
c024 int(11) not null,
|
|
c025 int(11) not null,
|
|
c026 int(11) not null,
|
|
c027 int(11) not null,
|
|
c028 int(11) not null,
|
|
c029 int(11) not null,
|
|
c030 int(11) not null,
|
|
c031 int(11) not null,
|
|
c032 int(11) not null,
|
|
c033 int(11) not null,
|
|
c034 int(11) not null,
|
|
c035 int(11) not null,
|
|
c036 int(11) not null,
|
|
c037 int(11) not null,
|
|
c038 int(11) not null,
|
|
c039 int(11) not null,
|
|
c040 int(11) not null,
|
|
c041 int(11) not null,
|
|
c042 int(11) not null,
|
|
c043 int(11) not null,
|
|
c044 int(11) not null,
|
|
c045 int(11) not null,
|
|
c046 int(11) not null,
|
|
c047 int(11) not null,
|
|
c048 int(11) not null,
|
|
c049 int(11) not null,
|
|
c050 int(11) not null,
|
|
c051 int(11) not null,
|
|
c052 int(11) not null,
|
|
c053 int(11) not null,
|
|
c054 int(11) not null,
|
|
c055 int(11) not null,
|
|
c056 int(11) not null,
|
|
c057 int(11) not null,
|
|
c058 int(11) not null,
|
|
c059 int(11) not null,
|
|
c060 int(11) not null,
|
|
c061 int(11) not null,
|
|
c062 int(11) not null,
|
|
c063 int(11) not null,
|
|
c064 int(11) not null,
|
|
c065 int(11) not null,
|
|
c066 int(11) not null,
|
|
c067 int(11) not null,
|
|
c068 int(11) not null,
|
|
c069 int(11) not null,
|
|
c070 int(11) not null,
|
|
c071 int(11) not null,
|
|
c072 int(11) not null,
|
|
c073 int(11) not null,
|
|
c074 int(11) not null,
|
|
c075 int(11) not null,
|
|
c076 int(11) not null,
|
|
c077 int(11) not null,
|
|
c078 int(11) not null,
|
|
c079 int(11) not null,
|
|
c080 int(11) not null,
|
|
c081 int(11) not null,
|
|
c082 int(11) not null,
|
|
c083 int(11) not null,
|
|
c084 int(11) not null,
|
|
c085 int(11) not null,
|
|
c086 int(11) not null,
|
|
c087 int(11) not null,
|
|
c088 int(11) not null,
|
|
c089 int(11) not null,
|
|
c090 int(11) not null,
|
|
c091 int(11) not null,
|
|
c092 int(11) not null,
|
|
c093 int(11) not null,
|
|
c094 int(11) not null,
|
|
c095 int(11) not null,
|
|
c096 int(11) not null,
|
|
c097 int(11) not null,
|
|
c098 int(11) not null,
|
|
c099 int(11) not null,
|
|
c100 int(11) not null,
|
|
c101 int(11) not null,
|
|
c102 int(11) not null,
|
|
c103 int(11) not null,
|
|
c104 int(11) not null,
|
|
c105 int(11) not null,
|
|
c106 int(11) not null,
|
|
c107 int(11) not null,
|
|
c108 int(11) not null,
|
|
c109 int(11) not null,
|
|
primary key (ai),
|
|
unique key tx1 (c002, c003, c004, c005)) engine=ndb;
|
|
|
|
create index tx2
|
|
on t1 (c010, c011, c012, c013);
|
|
|
|
drop table t1;
|
|
|
|
# End of 4.1 tests
|
|
|
|
# On-line alter table
|
|
|
|
|
|
CREATE TABLE t1 (
|
|
auto int(5) unsigned NOT NULL auto_increment,
|
|
string char(10),
|
|
vstring varchar(10),
|
|
bin binary(2),
|
|
vbin varbinary(7),
|
|
tiny tinyint(4) DEFAULT '0' NOT NULL ,
|
|
short smallint(6) DEFAULT '1' NOT NULL ,
|
|
medium mediumint(8) DEFAULT '0' NOT NULL,
|
|
long_int int(11) DEFAULT '0' NOT NULL,
|
|
longlong bigint(13) DEFAULT '0' NOT NULL,
|
|
real_float float(13,1) DEFAULT 0.0 NOT NULL,
|
|
real_double double(16,4),
|
|
real_decimal decimal(16,4),
|
|
utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
|
|
ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
|
|
umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
|
|
ulong int(11) unsigned DEFAULT '0' NOT NULL,
|
|
ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
|
|
bits bit(3),
|
|
options enum('zero','one','two','three','four') not null,
|
|
flags set('zero','one','two','three','four') not null,
|
|
date_field date,
|
|
year_field year,
|
|
time_field time,
|
|
date_time datetime,
|
|
time_stamp timestamp,
|
|
PRIMARY KEY (auto)
|
|
) engine=ndb;
|
|
|
|
CREATE TEMPORARY TABLE ndb_show_tables (id INT, type VARCHAR(20), state VARCHAR(20), logging VARCHAR(20), _database VARCHAR(255), _schema VARCHAR(20), name VARCHAR(255));
|
|
|
|
--disable_warnings
|
|
let $MYSQLD_DATADIR= `select @@datadir`;
|
|
--exec $NDB_TOOLS_DIR/ndb_show_tables --p > $MYSQLD_DATADIR/test/tmp.dat
|
|
LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
|
|
--enable_warnings
|
|
|
|
# Ndb doesn't support renaming attributes on-line
|
|
set @t1_id = (select id from ndb_show_tables where name like '%t1%');
|
|
truncate ndb_show_tables;
|
|
|
|
alter table t1 change tiny new_tiny tinyint(4) DEFAULT '0' NOT NULL;
|
|
--disable_warnings
|
|
--exec $NDB_TOOLS_DIR/ndb_show_tables --p > $MYSQLD_DATADIR/test/tmp.dat
|
|
LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
|
|
--enable_warnings
|
|
|
|
select 'no_copy' from ndb_show_tables where id = @t1_id and name like '%t1%';
|
|
|
|
set @t1_id = (select id from ndb_show_tables where name like '%t1%');
|
|
truncate ndb_show_tables;
|
|
|
|
create index i1 on t1(medium);
|
|
alter table t1 add index i2(new_tiny);
|
|
drop index i1 on t1;
|
|
|
|
--disable_warnings
|
|
--exec $NDB_TOOLS_DIR/ndb_show_tables --p > $MYSQLD_DATADIR/test/tmp.dat
|
|
LOAD DATA INFILE 'tmp.dat' INTO TABLE ndb_show_tables;
|
|
--exec rm $MYSQLD_DATADIR/test/tmp.dat || true
|
|
--enable_warnings
|
|
|
|
select 'no_copy' from ndb_show_tables where id = @t1_id and name like '%t1%';
|
|
|
|
DROP TABLE t1, ndb_show_tables;
|
|
|
|
# simple test that auto incr is not lost at rename or alter
|
|
create table t1 (a int primary key auto_increment, b int) engine=ndb;
|
|
insert into t1 (b) values (101),(102),(103);
|
|
select * from t1 where a = 3;
|
|
alter table t1 rename t2;
|
|
insert into t2 (b) values (201),(202),(203);
|
|
select * from t2 where a = 6;
|
|
alter table t2 add c int;
|
|
insert into t2 (b) values (301),(302),(303);
|
|
select * from t2 where a = 9;
|
|
alter table t2 rename t1;
|
|
insert into t1 (b) values (401),(402),(403);
|
|
select * from t1 where a = 12;
|
|
drop table t1;
|
|
|
|
# some other ALTER combinations
|
|
# add/drop pk
|
|
create table t1 (a int not null, b varchar(10)) engine=ndb;
|
|
show index from t1;
|
|
alter table t1 add primary key (a);
|
|
show index from t1;
|
|
alter table t1 drop primary key;
|
|
show index from t1;
|
|
drop table t1;
|
|
|
|
# alter .. alter
|
|
create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
|
show create table t1;
|
|
alter table t1 alter b set default 1;
|
|
show create table t1;
|
|
drop table t1;
|
|
|
|
# alter .. order by
|
|
create table t1 (a int not null, b int not null) engine=ndb;
|
|
insert into t1 values (1, 300), (2, 200), (3, 100);
|
|
select * from t1 order by a;
|
|
alter table t1 order by b;
|
|
select * from t1 order by b;
|
|
drop table t1;
|
|
|
|
--echo End of 5.1 tests
|