mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-24 07:13:33 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			293 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			293 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ########################################
 | |
| # Author: JBM
 | |
| # Date: 2006-01-12
 | |
| # Purpose: To test using ndb memory and 
 | |
| #          disk tables together.
 | |
| ########################################
 | |
| 
 | |
| -- source include/have_ndb.inc
 | |
| 
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS test.t1;
 | |
| DROP TABLE IF EXISTS test.t2;
 | |
| --enable_warnings
 | |
| 
 | |
| ############ Test Setup Section #############
 | |
| -- echo **** Test Setup Section ****
 | |
| 
 | |
| CREATE LOGFILE GROUP log_group1
 | |
| ADD UNDOFILE './log_group1/undofile.dat'
 | |
| INITIAL_SIZE 16M
 | |
| UNDO_BUFFER_SIZE = 1M
 | |
| ENGINE=NDB;
 | |
| 
 | |
| CREATE TABLESPACE table_space1
 | |
| ADD DATAFILE './table_space1/datafile.dat'
 | |
| USE LOGFILE GROUP log_group1
 | |
| INITIAL_SIZE 12M
 | |
| ENGINE NDB;
 | |
| 
 | |
| 
 | |
| CREATE TABLE test.t1
 | |
| (pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
 | |
| TABLESPACE table_space1 STORAGE DISK
 | |
| ENGINE=NDB;
 | |
| 
 | |
| CREATE TABLE test.t2
 | |
| (pk2 INT NOT NULL PRIMARY KEY, b2 INT NOT NULL, c2 INT NOT NULL)
 | |
| ENGINE=NDB;
 | |
| 
 | |
| --echo
 | |
| ##################### Data load for first test ####################
 | |
| --echo **** Data load for first test ****
 | |
| 
 | |
| INSERT INTO test.t1 VALUES
 | |
| (1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
 | |
| (6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
 | |
| (11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
 | |
| (16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
 | |
| (21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
 | |
| (26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
 | |
| (31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
 | |
| (36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
 | |
| (41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
 | |
| (46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
 | |
| (51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
 | |
| (56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
 | |
| (61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
 | |
| (66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
 | |
| (71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);
 | |
| 
 | |
| 
 | |
| INSERT INTO test.t2 VALUES
 | |
| (1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
 | |
| (6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
 | |
| (11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
 | |
| (16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
 | |
| (21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
 | |
| (26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
 | |
| (31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
 | |
| (36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
 | |
| (41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45),
 | |
| (46,46,46),(47,47,47),(48,48,48),(49,49,49),(50,50,50),
 | |
| (51,51,51),(52,52,52),(53,53,53),(54,54,54),(55,55,55),
 | |
| (56,56,56),(57,57,57),(58,58,58),(59,59,59),(60,60,60),
 | |
| (61,61,61),(62,62,62),(63,63,63),(64,64,64),(65,65,65),
 | |
| (66,66,66),(67,67,67),(68,68,68),(69,69,69),(70,70,70),
 | |
| (71,71,71),(72,72,72),(73,73,73),(74,74,74),(75,75,75);
 | |
| 
 | |
| --echo
 | |
| ##################### Test 1 Section Begins ###############
 | |
| --echo *** Test 1 Section Begins ***
 | |
| SELECT COUNT(*) FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4); 
 | |
| SELECT * FROM test.t2 LEFT JOIN test.t1 ON pk2=pk1 WHERE b2 IN (4); 
 | |
| SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 WHERE b IN (4); 
 | |
| SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2 WHERE pk1 IN (75); 
 | |
| SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b; 
 | |
| --echo
 | |
| ####################### Test 1 Section End ################
 | |
| 
 | |
| ##################### Setup for test 2 ####################
 | |
| --echo *** Setup for test 2 ****
 | |
| DELETE FROM test.t1;
 | |
| INSERT INTO test.t1 VALUES
 | |
| (1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
 | |
| (6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10),
 | |
| (11,11,11),(12,12,12),(13,13,13),(14,14,14),(15,15,15),
 | |
| (16,16,16),(17,17,17),(18,18,18),(19,19,19),(20,20,20),
 | |
| (21,21,21),(22,22,22),(23,23,23),(24,24,24),(25,25,25),
 | |
| (26,26,26),(27,27,27),(28,28,28),(29,29,29),(30,30,30),
 | |
| (31,31,31),(32,32,32),(33,33,33),(34,34,34),(35,35,35),
 | |
| (36,36,36),(37,37,37),(38,38,38),(39,39,39),(40,40,40),
 | |
| (41,41,41),(42,42,42),(43,43,43),(44,44,44),(45,45,45);
 | |
| --echo
 | |
| ############################# Test Section 2 ###############
 | |
| --echo **** Test Section 2 ****
 | |
| SELECT b, c FROM test.t1 LEFT JOIN test.t2 ON pk1=pk2 ORDER BY b;
 | |
| SELECT COUNT(*) FROM test.t1 LEFT JOIN test.t2 ON b=b2;
 | |
| SELECT COUNT(*) FROM test.t1 RIGHT JOIN test.t2 ON b=b2;
 | |
| SHOW CREATE TABLE test.t2;
 | |
| SHOW CREATE TABLE test.t1;
 | |
| ALTER TABLE test.t2 TABLESPACE table_space1 STORAGE DISK
 | |
| ENGINE=NDB;
 | |
| SHOW CREATE TABLE test.t2;
 | |
| ALTER TABLE test.t1 ENGINE=NDBCLUSTER;
 | |
| SHOW CREATE TABLE test.t1;
 | |
| --echo
 | |
| ######################### End Test Section 2 #################
 | |
| DROP TABLE test.t1;
 | |
| DROP TABLE test.t2;
 | |
| ##################### Setup for Test Section 3 ###############
 | |
| --echo *** Setup for Test Section 3 ***
 | |
| CREATE TABLE test.t1 (
 | |
|  usr_id INT unsigned NOT NULL,
 | |
|  uniq_id INT unsigned NOT NULL AUTO_INCREMENT,
 | |
|         start_num INT unsigned NOT NULL DEFAULT 1,
 | |
|         increment INT unsigned NOT NULL DEFAULT 1,
 | |
|  PRIMARY KEY (uniq_id),
 | |
|  INDEX usr_uniq_idx (usr_id, uniq_id),
 | |
|  INDEX uniq_usr_idx (uniq_id, usr_id))
 | |
| TABLESPACE table_space1 STORAGE DISK
 | |
| ENGINE=NDB;
 | |
| 
 | |
| 
 | |
| CREATE TABLE test.t2 (
 | |
|  id INT unsigned NOT NULL DEFAULT 0,
 | |
|  usr2_id INT unsigned NOT NULL DEFAULT 0,
 | |
|  max INT unsigned NOT NULL DEFAULT 0,
 | |
|  c_amount INT unsigned NOT NULL DEFAULT 0,
 | |
|  d_max INT unsigned NOT NULL DEFAULT 0,
 | |
|  d_num INT unsigned NOT NULL DEFAULT 0,
 | |
|  orig_time INT unsigned NOT NULL DEFAULT 0,
 | |
|  c_time INT unsigned NOT NULL DEFAULT 0,
 | |
|  active ENUM ("no","yes") NOT NULL,
 | |
|  PRIMARY KEY (id,usr2_id),
 | |
|  INDEX id_idx (id),
 | |
|  INDEX usr2_idx (usr2_id))
 | |
| ENGINE=NDB;
 | |
| 
 | |
| INSERT INTO test.t1 VALUES (3,NULL,0,50),(3,NULL,0,200),(3,NULL,0,25),(3,NULL,0,84676),(3,NULL,0,235),(3,NULL,0,10),(3,NULL,0,3098),(3,NULL,0,2947),(3,NULL,0,8987),(3,NULL,0,8347654),(3,NULL,0,20398),(3,NULL,0,8976),(3,NULL,0,500),(3,NULL,0,198);
 | |
| 
 | |
| --echo
 | |
| ###################### Test Section 3 ######################
 | |
| --echo **** Test Section 3 ****
 | |
| SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
 | |
| test.t2.usr2_id,test.t2.c_amount,test.t2.max
 | |
| FROM test.t1
 | |
| LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
 | |
| WHERE test.t1.uniq_id = 4
 | |
| ORDER BY test.t2.c_amount;
 | |
| 
 | |
| INSERT INTO test.t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
 | |
| INSERT INTO test.t2 VALUES (4,3,3000,6000,0,0,746584,837484,'yes');
 | |
| INSERT INTO test.t2 VALUES (7,3,1000,2000,0,0,746294,937484,'yes');
 | |
| 
 | |
| SELECT test.t1.usr_id,test.t1.uniq_id,test.t1.increment,
 | |
| test.t2.usr2_id,test.t2.c_amount,test.t2.max
 | |
| FROM test.t1
 | |
| LEFT JOIN test.t2 ON test.t2.id = test.t1.uniq_id
 | |
| WHERE test.t1.uniq_id = 4
 | |
| ORDER BY test.t2.c_amount;
 | |
| --echo
 | |
| ####################### End Section 3 #########################
 | |
| DROP TABLE test.t1;
 | |
| DROP TABLE test.t2;
 | |
| 
 | |
| ########## Test that use to be in ndb_dd_advance.test #########
 | |
| ########## ndb_dd_advance.test is now ndb_dd_alter.test #######
 | |
| #### Use group by asc and dec; Use having; Use order by. ####
 | |
| 
 | |
| 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)
 | |
| ) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
 | |
| 
 | |
| CREATE TABLE test.t2 (
 | |
|   b1 smallint NOT NULL,
 | |
|   b2 int NOT NULL,
 | |
|   b3 bigint NOT NULL,
 | |
|   b4 char(10),
 | |
|   b5 decimal(5,1),
 | |
|   b6 time,
 | |
|   b7 date,
 | |
|   b8 datetime,
 | |
|   b9 VARCHAR(255),
 | |
|   b10 blob,
 | |
|   PRIMARY KEY(b1)
 | |
| ) ENGINE=NDB;
 | |
| 
 | |
| ### ADD Some DATA to tables ######
 | |
| 
 | |
| 
 | |
| 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");
 | |
|  eval insert into test.t2 values($1+2, $1+3, $1+3000000000, "aaa$1", 35.2, '4:3:2', '2006-1-1', '1971-5-28 16:55:03', "bbbbbbbbbbbbb$1", "binary data");
 | |
|  dec $1;
 | |
| }
 | |
| 
 | |
| ALTER TABLE test.t1 ADD INDEX (a2), ADD INDEX (a3), ADD INDEX (a8);
 | |
| ALTER TABLE test.t2 ADD INDEX (b2), ADD INDEX (b3), ADD INDEX (b8);
 | |
| SHOW CREATE TABLE test.t1;
 | |
| SHOW CREATE TABLE test.t2;
 | |
| SELECT * FROM test.t1 order by a1;
 | |
| SELECT * FROM test.t2 order by b1;
 | |
| SELECT COUNT(a1), a1, COUNT(a1)*a1 FROM test.t1 GROUP BY a1;
 | |
| SELECT COUNT(a2), (a2+1), COUNT(a2)*(a2+0) FROM test.t1 GROUP BY a2;
 | |
| 
 | |
| DROP TABLE test.t1;
 | |
| DROP TABLE test.t2;
 | |
| 
 | |
| CREATE TABLE test.t1 (a INT NOT NULL,
 | |
| b CHAR(5), c TEXT, d INT NOT NULL PRIMARY KEY) TABLESPACE 
 | |
| table_space1 STORAGE DISK ENGINE=NDB;
 | |
| 
 | |
| insert into test.t1 (a,b,c,d) values (1,'a','Jonas',1),(2,'b','Tomas',2),
 | |
| (3,'c','Pekka',3),(4,'d','Martin',4),(5,'e','Stewart',5),(6,'f','Jeb',6),
 | |
| (7,'g','Serge',7),(8,'h','Clavin',8);
 | |
| select distinct a from test.t1 group by b,a having a > 4 order by a desc;
 | |
| select distinct a,c from test.t1 group by b,c,a having a > 2 order by a desc;
 | |
| select distinct a from test.t1 group by b,a having a > 1 order by a asc;
 | |
| select distinct a,c from test.t1 group by b,c,a having a > 3 order by a asc;
 | |
| drop table test.t1;
 | |
| 
 | |
| create table test.t1 (a char(1), key(a)) TABLESPACE table_space1 
 | |
| STORAGE DISK ENGINE=NDB;
 | |
| insert into test.t1 values('1'),('1'),('1'),('2'),('2'),('3'),('3');
 | |
| select * from test.t1 where a >= '1' order by a;
 | |
| select distinct a from test.t1 order by a desc;
 | |
| select distinct a from test.t1 where a >= '1' order by a desc;
 | |
| select distinct a from test.t1 where a >= '1' order by a asc;
 | |
| drop table test.t1;
 | |
| 
 | |
| CREATE TABLE test.t1 (email varchar(50), infoID BIGINT, dateentered DATETIME) 
 | |
| TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
 | |
| CREATE TABLE test.t2 (infoID BIGINT, shipcode varchar(10)) ENGINE=NDB;
 | |
| 
 | |
| INSERT INTO test.t1 (email, infoID, dateentered) VALUES
 | |
|       ('test1@testdomain.com', 1, '2002-07-30 22:56:38'),
 | |
|       ('test1@testdomain.com', 1, '2002-07-27 22:58:16'),
 | |
|       ('test2@testdomain.com', 1, '2002-06-19 15:22:19'),
 | |
|       ('test2@testdomain.com', 2, '2002-06-18 14:23:47'),
 | |
|       ('test3@testdomain.com', 1, '2002-05-19 22:17:32');
 | |
| 
 | |
| INSERT INTO test.t2(infoID, shipcode) VALUES
 | |
|       (1, 'Z001'),
 | |
|       (2, 'R002');
 | |
| 
 | |
| SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2 
 | |
| WHERE t1.infoID=t2.infoID order by email, shipcode;
 | |
| SELECT DISTINCTROW email FROM test.t1 ORDER BY dateentered DESC;
 | |
| SELECT DISTINCTROW email, shipcode FROM test.t1, test.t2 
 | |
| WHERE test.t1.infoID=test.t2.infoID ORDER BY dateentered DESC;
 | |
| 
 | |
| DROP TABLE test.t1,test.t2;
 | |
| 
 | |
| #################
 | |
| # Test Cleanup
 | |
| #################
 | |
| 
 | |
| ALTER TABLESPACE table_space1
 | |
| DROP DATAFILE './table_space1/datafile.dat'
 | |
| ENGINE = NDB;
 | |
| 
 | |
| DROP TABLESPACE table_space1
 | |
| ENGINE = NDB;
 | |
| 
 | |
| DROP LOGFILE GROUP log_group1
 | |
| ENGINE =NDB;
 | |
| 
 | |
| #End 5.1 test case
 | |
| 
 | 
