mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 01:04:19 +01:00
156 lines
4.5 KiB
Text
156 lines
4.5 KiB
Text
|
|
#
|
|
# TEST 1: Normal tables prefixed with "#sql" and "sql".
|
|
#
|
|
USE test;
|
|
CREATE TABLE `#sql_1` (a int, b text);
|
|
INSERT INTO `#sql_1` VALUES(1,'one');
|
|
|
|
CREATE TABLE `sql_1` (a int, b text);
|
|
INSERT INTO `sql_1` VALUES(1,'one');
|
|
|
|
# Verify that the tables are treated as normal tables .
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
TABLE test #sql_1
|
|
TABLE test sql_1
|
|
|
|
# Drop the tables, verify that the table objects are removed.
|
|
|
|
DROP TABLE `#sql_1`;
|
|
DROP TABLE `sql_1`;
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
#
|
|
# TEST 2: Temporary tables, no special prefix.
|
|
#
|
|
CREATE TEMPORARY TABLE sql_temp2_myisam (a int, b text) ENGINE=MYISAM;
|
|
INSERT INTO sql_temp2_myisam VALUES(1,'one');
|
|
|
|
CREATE TEMPORARY TABLE sql_temp2_innodb (a int, b text) ENGINE=INNODB;
|
|
INSERT INTO sql_temp2_innodb VALUES(1,'one');
|
|
|
|
# Confirm that the temporary tables are ignored.
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
# Drop the tables, verify that the table objects are not created.
|
|
|
|
DROP TABLE sql_temp2_myisam;
|
|
DROP TABLE sql_temp2_innodb;
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
#
|
|
# TEST 3: Temporary tables with the "#sql" prefix.
|
|
#
|
|
CREATE TEMPORARY TABLE `#sql_temp3_myisam` (a int, b text) ENGINE=MYISAM;
|
|
CHECK TABLE `#sql_temp3_myisam`;
|
|
Table Op Msg_type Msg_text
|
|
test.#sql_temp3_myisam check status OK
|
|
INSERT INTO `#sql_temp3_myisam` VALUES(1,'one');
|
|
|
|
CREATE TEMPORARY TABLE `#sql_temp3_innodb` (a int, b text) ENGINE=INNODB;
|
|
CHECK TABLE `#sql_temp3_innodb`;
|
|
Table Op Msg_type Msg_text
|
|
test.#sql_temp3_innodb check status OK
|
|
INSERT INTO `#sql_temp3_innodb` VALUES(1,'one');
|
|
|
|
# Confirm that the temporary tables are ignored.
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
# Drop the temporary tables.
|
|
|
|
DROP TABLE `#sql_temp3_myisam`;
|
|
DROP TABLE `#sql_temp3_innodb`;
|
|
|
|
# Confirm that the temporary tables are still ignored.
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
#
|
|
# TEST 4: Special case: MyISAM temporary tables are recreated as non-temporary
|
|
# when they are truncated.
|
|
#
|
|
CREATE TEMPORARY TABLE `sql_temp4_myisam` (a int, b text) ENGINE=MYISAM;
|
|
INSERT INTO `sql_temp4_myisam` VALUES(1,'one');
|
|
|
|
CREATE TEMPORARY TABLE `#sql_temp4_myisam` (a int, b text) ENGINE=MYISAM;
|
|
INSERT INTO `#sql_temp4_myisam` VALUES(1,'one');
|
|
|
|
# Confirm that the MyISAM temporary tables are ignored.
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
# Truncate the MyISAM temporary tables, forcing them to be recreated as non-temporary.
|
|
|
|
TRUNCATE TABLE `sql_temp4_myisam`;
|
|
TRUNCATE TABLE `#sql_temp4_myisam`;
|
|
|
|
# Confirm that the recreated MyISAM tables are still regarded as temporary and ignored.
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
# Drop the recreated MyISAM tables;
|
|
|
|
DROP TABLE `sql_temp4_myisam`;
|
|
DROP TABLE `#sql_temp4_myisam`;
|
|
|
|
# Confirm that the recreated temporary tables are still ignored.
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
#
|
|
# TEST 5: Generate temporary tables with ALTER MyISAM table.
|
|
#
|
|
USE test;
|
|
CREATE TABLE t1 (a int) ENGINE=MYISAM;
|
|
INSERT INTO t1 VALUES (1), (2), (3);
|
|
ALTER TABLE t1 ADD COLUMN (b int);
|
|
|
|
# Confirm that the recreated temporary tables are still ignored.
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|
|
|
|
# Drop the MyISAM table
|
|
|
|
DROP TABLE t1;
|
|
|
|
# Confirm that no tables remain;
|
|
|
|
SELECT object_type, object_schema, object_name
|
|
FROM performance_schema.objects_summary_global_by_type
|
|
WHERE object_schema="test";
|
|
object_type object_schema object_name
|