mariadb/mysql-test/t/ndb_dd_alter.test
unknown f3dc047890 WL#3303 (RBR: Engine-controlled logging format):
Test case fixes.


mysql-test/r/binlog_multi_engine.result:
  Result change.
mysql-test/r/rpl_ndb_stm_innodb.result:
  Result change.
mysql-test/t/binlog_multi_engine.test:
  NDB tests only work in MIXED or ROW mode. Adding some cleanup actions.
mysql-test/t/loaddata_autocom_ndb.test:
  NDB requires MIXED or ROW mode.
mysql-test/t/ndb_alter_table.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_alter_table2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_alter_table3.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_autodiscover.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_autodiscover2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_autodiscover3.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_basic.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_binlog_log_bin.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_binlog_multi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_bitfield.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_blob.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_blob_partition.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache_multi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache_multi2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_charset.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_condition_pushdown.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_config.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_config2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cursor.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_database.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_alter.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_backuprestore.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_basic.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_ddl.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_disk2memory.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_dump.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_sql_features.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_gis.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_index.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_index_ordered.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_index_unique.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_insert.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_limit.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_loaddatalocal.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_lock.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_minmax.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_multi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_error.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_key.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_list.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_range.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_read_multi_range.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_rename.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_replace.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_restore.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_restore_partition.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_restore_print.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_row_format.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_single_user.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_sp.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_subquery.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_temporary.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_transaction.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_trigger.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_truncate.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_types.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_update.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_view.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndbapi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ps_7ndb.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/rpl_ndb_commit_afterflush.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/rpl_ndb_innodb_trans.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/rpl_ndb_stm_innodb.test:
  We need MIXED mode on slave since it is necessary to let the slave
  switch to row format when executing replicated statements.
mysql-test/t/strict_autoinc_5ndb.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
2007-06-14 11:05:48 +02:00

275 lines
7.3 KiB
Text

##############################################################
# Author: JBM
# Date: 2006-01-12
# Purpose: To test using ndb memory and disk tables together.
##############################################################
##############################################################
# Author: Nikolay
# Date: 2006-05-12
# Purpose: To test using ndb memory and disk tables together.
#
# Select from disk into memory table
# Select from disk into memory table
# Create test that loads data, use mysql dump to dump data, drop table,
# create table and load from mysql dump.
# Use group by asc and dec; Use having; Use order by
# ALTER Tests (Meta data testing):
# ALTER from InnoDB to Cluster Disk Data
# ALTER from MyISAM to Cluster Disk Data
# ALTER from Cluster Disk Data to InnoDB
# ALTER from Cluster Disk Data to MyISAM
# ALTER DD Tables and add columns
# ALTER DD Tables and add Indexes
# ALTER DD Tables and drop columns
#
##############################################################
# Author: Jonathan
# Date 2006-08-28
# Purpose: To take out some of the test that are already
# Covered by other tests. Per Jonas
# The new purpose of this test is testing "Alter"
# Statements. Therefore the name is changed to
# ndb_dd_alter.test
# Removed tests include:
# Select from disk into memory table
# Select from disk into memory table
# Create test that loads data, use mysql dump to dump data, drop table,
# create table and load from mysql dump.
# Use group by asc and dec; Use having; Use order by
##############################################################
-- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc
-- source include/have_innodb.inc
-- source include/not_embedded.inc
--disable_warnings
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
--enable_warnings
############ Test Setup Section #############
-- echo **** Test Setup Section ****
################## ALTER Tests (Meta data testing) ####################
CREATE LOGFILE GROUP lg
ADD UNDOFILE './lg_group/undofile.dat'
INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE ts
ADD DATAFILE './table_space/datafile.dat'
USE LOGFILE GROUP lg
INITIAL_SIZE 12M
ENGINE NDB;
#### Try to ALTER from InnoDB to Cluster Disk Data
CREATE TABLE test.t1 (
a1 smallint NOT NULL,
a2 int NOT NULL,
a3 bigint NOT NULL,
a4 char(10),
a5 decimal(5,1),
a6 time,
a7 date,
a8 datetime,
a9 VARCHAR(255),
a10 blob,
PRIMARY KEY(a1)
) ENGINE=InnoDB;
let $1=20;
disable_query_log;
while ($1)
{
eval insert into test.t1 values($1, $1+1, $1+2000000000, "aaa$1", 34.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
dec $1;
}
enable_query_log;
SHOW CREATE TABLE test.t1;
SELECT * FROM test.t1 ORDER BY a1;
ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
SELECT * FROM test.t1 ORDER BY a1;
DROP TABLE test.t1;
#### Try to ALTER from MyISAM to Cluster Disk Data
CREATE TABLE test.t1 (
a1 smallint NOT NULL,
a2 int NOT NULL,
a3 bigint NOT NULL,
a4 char(10),
a5 decimal(5,1),
a6 time,
a7 date,
a8 datetime,
a9 VARCHAR(255),
a10 blob,
PRIMARY KEY(a1)
) ENGINE=MyISAM;
let $1=20;
disable_query_log;
while ($1)
{
eval insert into test.t1 values($1, $1+1, $1+2000000000, "aaa$1", 34.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
dec $1;
}
enable_query_log;
SHOW CREATE TABLE test.t1;
SELECT * FROM test.t1 ORDER BY a1;
ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
SELECT * FROM test.t1 ORDER BY a1;
#### Try to ALTER from Cluster Disk Data to InnoDB
ALTER TABLE test.t1 ENGINE=InnoDB;
SHOW CREATE TABLE test.t1;
SELECT * FROM test.t1 ORDER BY a1;
ALTER TABLE test.t1 TABLESPACE ts STORAGE DISK ENGINE=NDB;
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
#### Try to ALTER from Cluster Disk Data to MyISAM
ALTER TABLE test.t1 ENGINE=MyISAM;
SHOW CREATE TABLE test.t1;
DROP TABLE test.t1;
#### Try to ALTER DD Tables and add columns
CREATE TABLE test.t1 (a1 INT PRIMARY KEY) TABLESPACE ts STORAGE DISK ENGINE=NDB;
let $1=20;
disable_query_log;
while ($1)
{
eval insert into test.t1 values($1);
dec $1;
}
enable_query_log;
SELECT * FROM test.t1 ORDER BY a1;
SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE;
SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
let $1=20;
disable_query_log;
while ($1)
{
eval update test.t1 set a2 = $1+1.2345, a3 = $1+20000000.00 where a1 = $1;
dec $1;
}
enable_query_log;
SELECT * FROM test.t1 ORDER BY a1;
ALTER TABLE test.t1 ADD a4 BIT, ADD a5 TINYINT, ADD a6 BIGINT, ADD a7 DATE, ADD a8 TIME;
let $1=20;
disable_query_log;
while ($1)
{
eval update test.t1 set a4 = 0, a5 = 1, a6 = $1+23456, a7 = '2006-1-1',
a8 = '07:04:00' where a1 = $1;
dec $1;
}
enable_query_log;
SELECT a1,a2,a3,hex(a4), a5,a6,a7,a8 FROM test.t1 ORDER BY a1;
ALTER TABLE test.t1 ADD a9 DATETIME, ADD a10 TINYTEXT, ADD a11 MEDIUMTEXT, ADD a12 LONGTEXT, ADD a13 TEXT, ADD a14 BLOB;
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
disable_query_log;
set @d2 = 'dd2';
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
enable_query_log;
let $1=20;
disable_query_log;
while ($1)
{
eval update test.t1 set a9 = '1971-5-28 16:55:03', a10 = 'abc', a11 = 'abcdefg',
a12 = 'LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL', a13 = 'Text Field',
a14 = @d2 where a1 = $1;
dec $1;
}
enable_query_log;
SELECT a1, a2,a3,hex(a4),a5,a6,a7,a8,a9,a10,a11,a12,a13 FROM test.t1 ORDER BY a1;
#### Try to ALTER DD Tables and add Indexes
ALTER TABLE test.t1 ADD INDEX a2_i (a2), ADD INDEX a3_i (a3);
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
ALTER TABLE test.t1 DROP INDEX a2_i;
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
TRUNCATE TABLE test.t1;
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
#### Try to ALTER DD Tables and drop columns
ALTER TABLE test.t1 DROP a14;
ALTER TABLE test.t1 DROP a13;
ALTER TABLE test.t1 DROP a12;
ALTER TABLE test.t1 DROP a11;
ALTER TABLE test.t1 DROP a10;
ALTER TABLE test.t1 DROP a9;
ALTER TABLE test.t1 DROP a8;
ALTER TABLE test.t1 DROP a7;
ALTER TABLE test.t1 DROP a6;
ALTER TABLE test.t1 DROP PRIMARY KEY;
SHOW CREATE TABLE test.t1;
# Check column storage
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | grep 'ST='
DROP TABLE test.t1;
ALTER TABLESPACE ts
DROP DATAFILE './table_space/datafile.dat'
ENGINE NDB;
DROP TABLESPACE ts ENGINE NDB;
DROP LOGFILE GROUP lg ENGINE=NDB;
####################### End section 4 #########################
#End 5.1 test case