mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
9b2d36660b
upon HANDLER READ Analysis: The error state is not stored while checking condition and key name. Fix: Return true while checking condition and key name if error is reported because geometry object can't be created from the data in the index value for HANDLER READ.
191 lines
4.1 KiB
Text
191 lines
4.1 KiB
Text
# t/handler_myisam.test
|
|
#
|
|
# test of HANDLER ...
|
|
#
|
|
# Last update:
|
|
# 2006-07-31 ML test refactored (MySQL 5.1)
|
|
# code of t/handler.test and t/innodb_handler.test united
|
|
# main testing code put into handler.inc
|
|
# rename t/handler.test to t/handler_myisam.test
|
|
#
|
|
|
|
let $engine_type= MyISAM;
|
|
|
|
--source init.inc
|
|
--source handler.inc
|
|
|
|
--echo #
|
|
--echo # BUG #46456: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash
|
|
--echo #
|
|
CREATE TABLE t1 AS SELECT 1 AS f1;
|
|
HANDLER t1 OPEN;
|
|
TRUNCATE t1;
|
|
--error ER_UNKNOWN_TABLE
|
|
HANDLER t1 READ FIRST;
|
|
DROP TABLE t1;
|
|
|
|
CREATE TEMPORARY TABLE t1 AS SELECT 1 AS f1;
|
|
HANDLER t1 OPEN;
|
|
TRUNCATE t1;
|
|
--error ER_UNKNOWN_TABLE
|
|
HANDLER t1 READ FIRST;
|
|
DROP TABLE t1;
|
|
|
|
--echo #
|
|
--echo # Bug #54007: assert in ha_myisam::index_next , HANDLER
|
|
--echo #
|
|
CREATE TABLE t1(a INT, b INT, PRIMARY KEY(a), KEY b(b), KEY ab(a, b));
|
|
|
|
HANDLER t1 OPEN;
|
|
HANDLER t1 READ FIRST;
|
|
HANDLER t1 READ `PRIMARY` NEXT;
|
|
HANDLER t1 READ ab NEXT;
|
|
HANDLER t1 READ b NEXT;
|
|
HANDLER t1 READ NEXT;
|
|
HANDLER t1 CLOSE;
|
|
|
|
INSERT INTO t1 VALUES (2, 20), (1, 10), (4, 40), (3, 30);
|
|
HANDLER t1 OPEN;
|
|
HANDLER t1 READ FIRST;
|
|
HANDLER t1 READ NEXT;
|
|
HANDLER t1 READ `PRIMARY` NEXT;
|
|
HANDLER t1 READ `PRIMARY` NEXT;
|
|
HANDLER t1 READ ab NEXT;
|
|
HANDLER t1 READ ab NEXT;
|
|
HANDLER t1 READ b NEXT;
|
|
HANDLER t1 READ b NEXT;
|
|
HANDLER t1 READ b NEXT;
|
|
HANDLER t1 READ b NEXT;
|
|
HANDLER t1 READ b NEXT;
|
|
HANDLER t1 READ NEXT;
|
|
HANDLER t1 READ NEXT;
|
|
HANDLER t1 READ NEXT;
|
|
HANDLER t1 CLOSE;
|
|
|
|
HANDLER t1 OPEN;
|
|
HANDLER t1 READ FIRST;
|
|
HANDLER t1 READ `PRIMARY` PREV;
|
|
HANDLER t1 READ `PRIMARY` PREV;
|
|
HANDLER t1 READ b PREV;
|
|
HANDLER t1 READ b PREV;
|
|
HANDLER t1 CLOSE;
|
|
|
|
HANDLER t1 OPEN;
|
|
HANDLER t1 READ FIRST;
|
|
HANDLER t1 READ `PRIMARY` PREV LIMIT 3;
|
|
HANDLER t1 READ b NEXT LIMIT 5;
|
|
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
|
|
|
|
--echo #
|
|
--echo # 10.2 Test
|
|
--echo #
|
|
--echo # MDEV-20207: Assertion `! is_set()' failed in
|
|
--echo # Diagnostics_area::set_eof_status upon HANDLER READ
|
|
--echo #
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
CREATE TABLE t1 (a POINT, KEY(a));
|
|
HANDLER t1 OPEN h;
|
|
|
|
--error ER_CANT_CREATE_GEOMETRY_OBJECT
|
|
HANDLER h READ a = (0);
|
|
|
|
HANDLER h CLOSE;
|
|
DROP TABLE t1;
|
|
|
|
--echo # End of 10.2 Test
|