mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	BitKeeper/etc/ignore: auto-union configure.in: Auto merged BitKeeper/deleted/.del-global.h~e80d28157acfdcb5: Auto merged libmysql/password.c: Auto merged mysys/hash.c: Auto merged mysys/my_static.c: Auto merged mysys/my_static.h: Auto merged mysys/my_tempnam.c: Auto merged sql/sql_analyse.cc: Auto merged sql/sql_table.cc: Auto merged support-files/mysql.server.sh: Auto merged mysql-test/t/temp_table.test: Added comment sql/mysqld.cc: Don't apply change from 3.23 sql/sql_show.cc: Don't apply change from 3.23 sql/structs.h: Don't apply change from 3.23
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Test of temporary tables
 | |
| #
 | |
| 
 | |
| drop table if exists t1,t2;
 | |
| CREATE TABLE t1 (c int not null, d char (10) not null);
 | |
| insert into t1 values(1,""),(2,"a"),(3,"b");
 | |
| CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null);
 | |
| insert into t1 values(4,"e"),(5,"f"),(6,"g");
 | |
| alter table t1 rename t2;
 | |
| select * from t1;
 | |
| select * from t2;
 | |
| CREATE TABLE t2 (x int not null, y int not null);
 | |
| alter table t2 rename t1;
 | |
| select * from t1;
 | |
| create TEMPORARY TABLE t2 type=heap select * from t1;
 | |
| create TEMPORARY TABLE IF NOT EXISTS t2 (a int) type=heap;
 | |
| 
 | |
| # This should give errors
 | |
| !$1050 CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null);
 | |
| !$1050 ALTER TABLE t1 RENAME t2;
 | |
| 
 | |
| select * from t2;
 | |
| alter table t2 add primary key (a,b);
 | |
| drop table t1,t2;
 | |
| select * from t1;
 | |
| drop table t2;
 | |
| create temporary table t1 select *,2 as "e" from t1;
 | |
| select * from t1;
 | |
| drop table t1;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Test CONCAT_WS with temporary tables
 | |
| #
 | |
| 
 | |
| drop table if exists t1;
 | |
| CREATE TABLE t1 (pkCrash INTEGER PRIMARY KEY,strCrash VARCHAR(255));
 | |
| INSERT INTO t1 ( pkCrash, strCrash ) VALUES ( 1, '1');
 | |
| SELECT CONCAT_WS(pkCrash, strCrash) FROM t1;
 | |
| drop table t1;
 | |
| create temporary table t1 select 1 as 'x';
 | |
| drop table t1;
 | |
| CREATE TABLE t1 (x INT);
 | |
| INSERT INTO t1 VALUES (1), (2), (3);
 | |
| CREATE TEMPORARY TABLE tmp SELECT *, NULL FROM t1;
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # Problem with ELT
 | |
| #
 | |
| create temporary table t1 (id int(10) not null unique);
 | |
| create temporary table t2 (id int(10) not null primary key, 
 | |
| val int(10) not null);
 | |
| 
 | |
| # put in some initial values
 | |
| insert into t1 values (1),(2),(4);
 | |
| insert into t2 values (1,1),(2,1),(3,1),(4,2);
 | |
| 
 | |
| # do a query using ELT, a join and an ORDER BY.
 | |
| select one.id, two.val, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id order by one.id;
 | |
| drop table t1,t2;
 | |
| 
 | |
| #
 | |
| # Test of failed ALTER TABLE on temporary table
 | |
| #
 | |
| create temporary table t1 (a int not null);
 | |
| insert into t1 values (1),(1);
 | |
| -- error 1062
 | |
| alter table t1 add primary key (a);
 | |
| drop table t1;
 | |
| 
 | |
| #
 | |
| # In MySQL 4.0.4 doing a GROUP BY on a NULL column created a disk based
 | |
| # temporary table when a memory based one would be good enough.
 | |
| 
 | |
| drop table if exists t1;
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   d datetime default NULL
 | |
| ) TYPE=MyISAM;
 | |
| 
 | |
| 
 | |
| INSERT INTO t1 VALUES ('2002-10-24 14:50:32'),('2002-10-24 14:50:33'),('2002-10-24 14:50:34'),('2002-10-24 14:50:34'),('2002-10-24 14:50:34'),('2002-10-24 14:50:35'),('2002-10-24 14:50:35'),('2002-10-24 14:50:35'),('2002-10-24 14:50:35'),('2002-10-24 14:50:36'),('2002-10-24 14:50:36'),('2002-10-24 14:50:36'),('2002-10-24 14:50:36'),('2002-10-24 14:50:37'),('2002-10-24 14:50:37'),('2002-10-24 14:50:37'),('2002-10-24 14:50:37'),('2002-10-24 14:50:38'),('2002-10-24 14:50:38'),('2002-10-24 14:50:38'),('2002-10-24 14:50:39'),('2002-10-24 14:50:39'),('2002-10-24 14:50:39'),('2002-10-24 14:50:39'),('2002-10-24 14:50:40'),('2002-10-24 14:50:40'),('2002-10-24 14:50:40');
 | |
| 
 | |
| flush status;
 | |
| select * from t1 group by d;
 | |
| show status like "created_tmp%tables";
 | |
| drop table t1;
 |