mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
505caa2879
Added protocol::flush() for easier embedded-server code Increase block allocation variables a bit as they where a bit too small for MySQL 4.1 Added option --silent to client_test client/mysqltest.c: Removed compiler warning Fixed identation & comments from earlier push Renamed variable 'disable_abort_on_error' to 'abort_on_error' Ensure that '$mysql_errno' also with --ps-protocol include/mysql_com.h: Removed special handling of net_flush for embedded server mysql-test/r/mysqltest.result: Remove usage of !$ in tests mysql-test/t/client_test.test: Use --silent mysql-test/t/comments.test: Remove usage of !$ in tests mysql-test/t/join_outer.test: Remove usage of !$ in tests mysql-test/t/key.test: Remove usage of !$ in tests mysql-test/t/mysqltest.test: Remove usage of !$ in tests mysql-test/t/show_check.test: Remove usage of !$ in tests mysql-test/t/temp_table.test: Remove usage of !$ in tests mysql-test/t/type_ranges.test: Remove usage of !$ in tests sql/mysqld.cc: Increase block allocation variables a bit as they where a bit too small for MySQL 4.1 sql/net_serv.cc: Remove special usage of net_flush in embedded server sql/protocol.cc: Added protocol::flush() for easier embedded-server code sql/protocol.h: Added protocol::flush() for easier embedded-server code sql/sql_prepare.cc: Added protocol::flush() for easier embedded-server code Remove one extra flush() for prepared statements sql/sql_show.cc: Added protocol::flush() for easier embedded-server code tests/client_test.c: Added option --silent
91 lines
2.9 KiB
Text
91 lines
2.9 KiB
Text
#
|
|
# Test of temporary tables
|
|
#
|
|
|
|
--disable_warnings
|
|
drop table if exists t1,t2;
|
|
--enable_warnings
|
|
|
|
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 engine=heap select * from t1;
|
|
create TEMPORARY TABLE IF NOT EXISTS t2 (a int) engine=heap;
|
|
|
|
# This should give errors
|
|
--error 1050
|
|
CREATE TEMPORARY TABLE t1 (a int not null, b char (10) not null);
|
|
--error 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
|
|
#
|
|
|
|
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.
|
|
|
|
CREATE TABLE t1 (
|
|
d datetime default NULL
|
|
) ENGINE=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;
|