mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			275 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			275 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
##############################################################
 | 
						|
# 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_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
 | 
						|
 |