1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

MDEV-4879 - Merge test cases for new CREATE TEMPORARY TABLE privilege model

- merged test cases for MySQL bug#27480
- fixed that LOCK TABLES was unable to open temporary table
  (covered by grant2 test, merged appropriate code from 5.6)
- commented lines that cause server crash in merge test, reported
  MDEV-5042 (not relevant to bug#27480)
This commit is contained in:
Sergey Vojtovich
2013-09-20 13:12:53 +04:00
parent 8b5938a127
commit 815c607dcf
15 changed files with 1429 additions and 2 deletions

View File

@@ -1803,4 +1803,90 @@ a b
4 40
HANDLER t1 CLOSE;
DROP TABLE t1;
#
# Additional coverage for refactoring which is made as part
# of fix for bug #27480 "Extend CREATE TEMPORARY TABLES privilege
# to allow temp table operations".
#
# Check that DDL on temporary table properly closes HANDLER cursors
# for this table belonging to the same connection.
CREATE TEMPORARY TABLE t1 AS SELECT 1 AS f1;
# -- CREATE TABLE
HANDLER t1 OPEN;
CREATE TEMPORARY TABLE IF NOT EXISTS t1 SELECT 1 AS f1;
Warnings:
Note 1050 Table 't1' already exists
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- REPAIR TABLE
HANDLER t1 OPEN;
REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- ANALYZE TABLE
HANDLER t1 OPEN;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- OPTIMIZE TABLE
HANDLER t1 OPEN;
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- CHECK TABLE
HANDLER t1 OPEN;
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- ALTER TABLE
HANDLER t1 OPEN;
ALTER TABLE t1 ADD COLUMN b INT;
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- CREATE INDEX
HANDLER t1 OPEN;
CREATE INDEX b ON t1 (b);
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- DROP INDEX
HANDLER t1 OPEN;
DROP INDEX b ON t1;
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- TRUNCATE TABLE
HANDLER t1 OPEN;
TRUNCATE TABLE t1;
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- DROP TABLE
HANDLER t1 OPEN;
DROP TABLE t1;
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
CREATE TEMPORARY TABLE t1(a INT, b INT, INDEX i(a));
set global keycache1.key_cache_block_size=2048;
set global keycache1.key_buffer_size=1*1024*1024;
set global keycache1.key_buffer_size=1024*1024;
# -- CACHE INDEX
HANDLER t1 OPEN;
CACHE INDEX t1 IN keycache1;
Table Op Msg_type Msg_text
test.t1 assign_to_keycache status OK
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
# -- LOAD INDEX
HANDLER t1 OPEN;
LOAD INDEX INTO CACHE t1;
Table Op Msg_type Msg_text
test.t1 preload_keys status OK
HANDLER t1 READ FIRST;
ERROR 42S02: Unknown table 't1' in HANDLER
End of 5.1 tests

View File

@@ -79,4 +79,93 @@ HANDLER t1 CLOSE;
DROP TABLE t1;
--echo #
--echo # Additional coverage for refactoring which is made as part
--echo # of fix for bug #27480 "Extend CREATE TEMPORARY TABLES privilege
--echo # to allow temp table operations".
--echo #
--echo # Check that DDL on temporary table properly closes HANDLER cursors
--echo # for this table belonging to the same connection.
CREATE TEMPORARY TABLE t1 AS SELECT 1 AS f1;
--echo # -- CREATE TABLE
HANDLER t1 OPEN;
CREATE TEMPORARY TABLE IF NOT EXISTS t1 SELECT 1 AS f1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- REPAIR TABLE
HANDLER t1 OPEN;
REPAIR TABLE t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- ANALYZE TABLE
HANDLER t1 OPEN;
ANALYZE TABLE t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- OPTIMIZE TABLE
HANDLER t1 OPEN;
OPTIMIZE TABLE t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- CHECK TABLE
HANDLER t1 OPEN;
CHECK TABLE t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- ALTER TABLE
HANDLER t1 OPEN;
ALTER TABLE t1 ADD COLUMN b INT;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- CREATE INDEX
HANDLER t1 OPEN;
CREATE INDEX b ON t1 (b);
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- DROP INDEX
HANDLER t1 OPEN;
DROP INDEX b ON t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- TRUNCATE TABLE
HANDLER t1 OPEN;
TRUNCATE TABLE t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- DROP TABLE
HANDLER t1 OPEN;
DROP TABLE t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
CREATE TEMPORARY TABLE t1(a INT, b INT, INDEX i(a));
set global keycache1.key_cache_block_size=2048;
set global keycache1.key_buffer_size=1*1024*1024;
set global keycache1.key_buffer_size=1024*1024;
--echo # -- CACHE INDEX
HANDLER t1 OPEN;
CACHE INDEX t1 IN keycache1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo # -- LOAD INDEX
HANDLER t1 OPEN;
LOAD INDEX INTO CACHE t1;
--error ER_UNKNOWN_TABLE
HANDLER t1 READ FIRST;
--echo End of 5.1 tests