mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
07e9a6dc2a
partition is corrupt The main problem was that ALTER TABLE t ANALYZE/CHECK/OPTIMIZE/REPAIR PARTITION took another code path (over mysql_alter_table instead of mysql_admin_table) which differs in two ways: 1) alter table opens the tables in a different way than admin tables do resulting in returning with error before it tried the command 2) alter table does not start to send any diagnostic rows to the client which the lower admin functions continue to use -> resulting in assertion crash The fix: Remapped ALTER TABLE t ANALYZE/CHECK/OPTIMIZE/REPAIR PARTITION to use the same code path as ANALYZE/CHECK/OPTIMIZE/REPAIR TABLE t. Adding check in mysql_admin_table to setup the partition list for which partitions that should be used. Partitioned tables will still not work with REPAIR TABLE/PARTITION USE_FRM, since that requires moving partitions to tables, REPAIR TABLE t USE_FRM, and check that the data still fulfills the partitioning function and then move the table back to being a partition. NOTE: I have removed the following functions from the handler interface: analyze_partitions, check_partitions, optimize_partitions, repair_partitions Since they are not longer needed. THIS ALTERS THE STORAGE ENGINE API
732 lines
16 KiB
Text
732 lines
16 KiB
Text
SET SESSION STORAGE_ENGINE = InnoDB;
|
|
drop table if exists t1,t3,t4,t5;
|
|
create table t1 (a int, b char(10), key a(a), key b(a,b));
|
|
insert into t1 values
|
|
(17,"ddd"),(18,"eee"),(19,"fff"),(19,"yyy"),
|
|
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
|
|
(20,"ggg"),(21,"hhh"),(22,"iii");
|
|
handler t1 open as t2;
|
|
handler t2 read a=(SELECT 1);
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 1)' at line 1
|
|
handler t2 read a first;
|
|
a b
|
|
14 aaa
|
|
handler t2 read a next;
|
|
a b
|
|
15 bbb
|
|
handler t2 read a next;
|
|
a b
|
|
16 ccc
|
|
handler t2 read a prev;
|
|
a b
|
|
15 bbb
|
|
handler t2 read a last;
|
|
a b
|
|
22 iii
|
|
handler t2 read a prev;
|
|
a b
|
|
21 hhh
|
|
handler t2 read a prev;
|
|
a b
|
|
20 ggg
|
|
handler t2 read a first;
|
|
a b
|
|
14 aaa
|
|
handler t2 read a prev;
|
|
a b
|
|
handler t2 read a last;
|
|
a b
|
|
22 iii
|
|
handler t2 read a prev;
|
|
a b
|
|
21 hhh
|
|
handler t2 read a next;
|
|
a b
|
|
22 iii
|
|
handler t2 read a next;
|
|
a b
|
|
handler t2 read a=(15);
|
|
a b
|
|
15 bbb
|
|
handler t2 read a=(16);
|
|
a b
|
|
16 ccc
|
|
handler t2 read a=(19,"fff");
|
|
ERROR 42000: Too many key parts specified; max 1 parts allowed
|
|
handler t2 read b=(19,"fff");
|
|
a b
|
|
19 fff
|
|
handler t2 read b=(19,"yyy");
|
|
a b
|
|
19 yyy
|
|
handler t2 read b=(19);
|
|
a b
|
|
19 fff
|
|
handler t1 read a last;
|
|
ERROR 42S02: Unknown table 't1' in HANDLER
|
|
handler t2 read a=(11);
|
|
a b
|
|
handler t2 read a>=(11);
|
|
a b
|
|
14 aaa
|
|
handler t2 read a=(18);
|
|
a b
|
|
18 eee
|
|
handler t2 read a>=(18);
|
|
a b
|
|
18 eee
|
|
handler t2 read a>(18);
|
|
a b
|
|
19 fff
|
|
handler t2 read a<=(18);
|
|
a b
|
|
18 eee
|
|
handler t2 read a<(18);
|
|
a b
|
|
17 ddd
|
|
handler t2 read a first limit 5;
|
|
a b
|
|
14 aaa
|
|
15 bbb
|
|
16 ccc
|
|
16 xxx
|
|
17 ddd
|
|
handler t2 read a next limit 3;
|
|
a b
|
|
18 eee
|
|
19 fff
|
|
19 yyy
|
|
handler t2 read a prev limit 10;
|
|
a b
|
|
19 fff
|
|
18 eee
|
|
17 ddd
|
|
16 xxx
|
|
16 ccc
|
|
15 bbb
|
|
14 aaa
|
|
handler t2 read a>=(16) limit 4;
|
|
a b
|
|
16 ccc
|
|
16 xxx
|
|
17 ddd
|
|
18 eee
|
|
handler t2 read a>=(16) limit 2,2;
|
|
a b
|
|
17 ddd
|
|
18 eee
|
|
handler t2 read a last limit 3;
|
|
a b
|
|
22 iii
|
|
21 hhh
|
|
20 ggg
|
|
handler t2 read a=(19);
|
|
a b
|
|
19 fff
|
|
handler t2 read a=(19) where b="yyy";
|
|
a b
|
|
19 yyy
|
|
handler t2 read first;
|
|
a b
|
|
17 ddd
|
|
handler t2 read next;
|
|
a b
|
|
18 eee
|
|
handler t2 read next;
|
|
a b
|
|
19 fff
|
|
handler t2 read last;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
|
handler t2 close;
|
|
handler t1 open;
|
|
handler t1 read a next;
|
|
a b
|
|
14 aaa
|
|
handler t1 read a next;
|
|
a b
|
|
15 bbb
|
|
handler t1 close;
|
|
handler t1 open;
|
|
handler t1 read a prev;
|
|
a b
|
|
22 iii
|
|
handler t1 read a prev;
|
|
a b
|
|
21 hhh
|
|
handler t1 close;
|
|
handler t1 open as t2;
|
|
handler t2 read first;
|
|
a b
|
|
17 ddd
|
|
alter table t1 engine = InnoDB;
|
|
handler t2 read first;
|
|
ERROR 42S02: Unknown table 't2' in HANDLER
|
|
handler t1 open as t2;
|
|
drop table t1;
|
|
create table t1 (a int);
|
|
insert into t1 values (17);
|
|
handler t2 read first;
|
|
ERROR 42S02: Unknown table 't2' in HANDLER
|
|
handler t1 open as t2;
|
|
alter table t1 engine=MEMORY;
|
|
handler t2 read first;
|
|
ERROR 42S02: Unknown table 't2' in HANDLER
|
|
drop table t1;
|
|
create table t1 (a int);
|
|
insert into t1 values (1),(2),(3),(4),(5),(6);
|
|
delete from t1 limit 2;
|
|
handler t1 open;
|
|
handler t1 read first;
|
|
a
|
|
3
|
|
handler t1 read first limit 1,1;
|
|
a
|
|
4
|
|
handler t1 read first limit 2,2;
|
|
a
|
|
5
|
|
6
|
|
delete from t1 limit 3;
|
|
handler t1 read first;
|
|
a
|
|
6
|
|
drop table t1;
|
|
create table t1(a int, index(a));
|
|
insert into t1 values (1), (2), (3);
|
|
handler t1 open;
|
|
handler t1 read a=(W);
|
|
ERROR 42S22: Unknown column 'W' in 'field list'
|
|
handler t1 read a=(a);
|
|
ERROR HY000: Incorrect arguments to HANDLER ... READ
|
|
drop table t1;
|
|
create table t1 (a char(5));
|
|
insert into t1 values ("Ok");
|
|
handler t1 open as t;
|
|
handler t read first;
|
|
a
|
|
Ok
|
|
use mysql;
|
|
handler t read first;
|
|
a
|
|
Ok
|
|
handler t close;
|
|
handler test.t1 open as t;
|
|
handler t read first;
|
|
a
|
|
Ok
|
|
handler t close;
|
|
use test;
|
|
drop table t1;
|
|
create table t1 ( a int, b int, INDEX a (a) );
|
|
insert into t1 values (1,2), (2,1);
|
|
handler t1 open;
|
|
handler t1 read a=(1) where b=2;
|
|
a b
|
|
1 2
|
|
handler t1 read a=(1) where b=3;
|
|
a b
|
|
handler t1 read a=(1) where b=1;
|
|
a b
|
|
handler t1 close;
|
|
drop table t1;
|
|
drop database if exists test_test;
|
|
create database test_test;
|
|
use test_test;
|
|
create table t1(table_id char(20) primary key);
|
|
insert into t1 values ('test_test.t1');
|
|
insert into t1 values ('');
|
|
handler t1 open;
|
|
handler t1 read first limit 9;
|
|
table_id
|
|
|
|
test_test.t1
|
|
create table t2(table_id char(20) primary key);
|
|
insert into t2 values ('test_test.t2');
|
|
insert into t2 values ('');
|
|
handler t2 open;
|
|
handler t2 read first limit 9;
|
|
table_id
|
|
|
|
test_test.t2
|
|
use test;
|
|
drop table if exists t1;
|
|
create table t1(table_id char(20) primary key);
|
|
insert into t1 values ('test.t1');
|
|
insert into t1 values ('');
|
|
handler t1 open;
|
|
ERROR 42000: Not unique table/alias: 't1'
|
|
use test;
|
|
handler test.t1 read first limit 9;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read first limit 9' at line 1
|
|
handler test_test.t1 read first limit 9;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read first limit 9' at line 1
|
|
handler t1 read first limit 9;
|
|
table_id
|
|
|
|
test_test.t1
|
|
handler test_test.t2 read first limit 9;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read first limit 9' at line 1
|
|
handler t2 read first limit 9;
|
|
table_id
|
|
|
|
test_test.t2
|
|
handler test_test.t1 close;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
|
|
handler t1 close;
|
|
drop table test_test.t1;
|
|
handler test_test.t2 close;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
|
|
handler t2 close;
|
|
drop table test_test.t2;
|
|
drop database test_test;
|
|
use test;
|
|
handler test.t1 close;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
|
|
handler t1 close;
|
|
ERROR 42S02: Unknown table 't1' in HANDLER
|
|
drop table test.t1;
|
|
drop database if exists test_test;
|
|
drop table if exists t1;
|
|
drop table if exists t2;
|
|
drop table if exists t3;
|
|
create database test_test;
|
|
use test_test;
|
|
create table t1 (c1 char(20));
|
|
insert into t1 values ('test_test.t1');
|
|
create table t3 (c1 char(20));
|
|
insert into t3 values ('test_test.t3');
|
|
handler t1 open;
|
|
handler t1 read first limit 9;
|
|
c1
|
|
test_test.t1
|
|
handler t1 open h1;
|
|
handler h1 read first limit 9;
|
|
c1
|
|
test_test.t1
|
|
use test;
|
|
create table t1 (c1 char(20));
|
|
create table t2 (c1 char(20));
|
|
create table t3 (c1 char(20));
|
|
insert into t1 values ('t1');
|
|
insert into t2 values ('t2');
|
|
insert into t3 values ('t3');
|
|
handler t1 open;
|
|
ERROR 42000: Not unique table/alias: 't1'
|
|
handler t2 open t1;
|
|
ERROR 42000: Not unique table/alias: 't1'
|
|
handler t3 open t1;
|
|
ERROR 42000: Not unique table/alias: 't1'
|
|
handler t1 read first limit 9;
|
|
c1
|
|
test_test.t1
|
|
handler test.t1 close;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
|
|
handler test.t1 open h1;
|
|
ERROR 42000: Not unique table/alias: 'h1'
|
|
handler test_test.t1 open h1;
|
|
ERROR 42000: Not unique table/alias: 'h1'
|
|
handler test_test.t3 open h3;
|
|
handler test.t1 open h2;
|
|
handler t1 read first limit 9;
|
|
c1
|
|
test_test.t1
|
|
handler h1 read first limit 9;
|
|
c1
|
|
test_test.t1
|
|
handler h2 read first limit 9;
|
|
c1
|
|
t1
|
|
handler h3 read first limit 9;
|
|
c1
|
|
test_test.t3
|
|
handler h2 read first limit 9;
|
|
c1
|
|
t1
|
|
handler test.h1 close;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'close' at line 1
|
|
handler t1 close;
|
|
handler h1 close;
|
|
handler h2 close;
|
|
handler t1 read first limit 9;
|
|
ERROR 42S02: Unknown table 't1' in HANDLER
|
|
handler h1 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h1' in HANDLER
|
|
handler h2 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h2' in HANDLER
|
|
handler h3 read first limit 9;
|
|
c1
|
|
test_test.t3
|
|
handler h3 read first limit 9;
|
|
c1
|
|
test_test.t3
|
|
use test_test;
|
|
handler h3 read first limit 9;
|
|
c1
|
|
test_test.t3
|
|
handler test.h3 read first limit 9;
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read first limit 9' at line 1
|
|
handler h3 close;
|
|
use test;
|
|
drop table t3;
|
|
drop table t2;
|
|
drop table t1;
|
|
drop database test_test;
|
|
create table t1 (c1 char(20));
|
|
insert into t1 values ("t1");
|
|
handler t1 open as h1;
|
|
handler h1 read first limit 9;
|
|
c1
|
|
t1
|
|
create table t2 (c1 char(20));
|
|
insert into t2 values ("t2");
|
|
handler t2 open as h2;
|
|
handler h2 read first limit 9;
|
|
c1
|
|
t2
|
|
create table t3 (c1 char(20));
|
|
insert into t3 values ("t3");
|
|
handler t3 open as h3;
|
|
handler h3 read first limit 9;
|
|
c1
|
|
t3
|
|
create table t4 (c1 char(20));
|
|
insert into t4 values ("t4");
|
|
handler t4 open as h4;
|
|
handler h4 read first limit 9;
|
|
c1
|
|
t4
|
|
create table t5 (c1 char(20));
|
|
insert into t5 values ("t5");
|
|
handler t5 open as h5;
|
|
handler h5 read first limit 9;
|
|
c1
|
|
t5
|
|
alter table t1 engine=MyISAM;
|
|
handler h1 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h1' in HANDLER
|
|
handler h2 read first limit 9;
|
|
c1
|
|
t2
|
|
handler h3 read first limit 9;
|
|
c1
|
|
t3
|
|
handler h4 read first limit 9;
|
|
c1
|
|
t4
|
|
handler h5 read first limit 9;
|
|
c1
|
|
t5
|
|
alter table t5 engine=MyISAM;
|
|
handler h1 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h1' in HANDLER
|
|
handler h2 read first limit 9;
|
|
c1
|
|
t2
|
|
handler h3 read first limit 9;
|
|
c1
|
|
t3
|
|
handler h4 read first limit 9;
|
|
c1
|
|
t4
|
|
handler h5 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h5' in HANDLER
|
|
alter table t3 engine=MyISAM;
|
|
handler h1 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h1' in HANDLER
|
|
handler h2 read first limit 9;
|
|
c1
|
|
t2
|
|
handler h3 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h3' in HANDLER
|
|
handler h4 read first limit 9;
|
|
c1
|
|
t4
|
|
handler h5 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h5' in HANDLER
|
|
handler h2 close;
|
|
handler h4 close;
|
|
handler t1 open as h1_1;
|
|
handler t1 open as h1_2;
|
|
handler t1 open as h1_3;
|
|
handler h1_1 read first limit 9;
|
|
c1
|
|
t1
|
|
handler h1_2 read first limit 9;
|
|
c1
|
|
t1
|
|
handler h1_3 read first limit 9;
|
|
c1
|
|
t1
|
|
alter table t1 engine=InnoDB;
|
|
handler h1_1 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h1_1' in HANDLER
|
|
handler h1_2 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h1_2' in HANDLER
|
|
handler h1_3 read first limit 9;
|
|
ERROR 42S02: Unknown table 'h1_3' in HANDLER
|
|
drop table t1;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop table t4;
|
|
drop table t5;
|
|
create table t1 (c1 int);
|
|
insert into t1 values (1);
|
|
handler t1 open;
|
|
handler t1 read first;
|
|
c1
|
|
1
|
|
send the below to another connection, do not wait for the result
|
|
optimize table t1;
|
|
proceed with the normal connection
|
|
handler t1 read next;
|
|
c1
|
|
1
|
|
handler t1 close;
|
|
read the result from the other connection
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
|
test.t1 optimize status OK
|
|
proceed with the normal connection
|
|
drop table t1;
|
|
CREATE TABLE t1 ( no1 smallint(5) NOT NULL default '0', no2 int(10) NOT NULL default '0', PRIMARY KEY (no1,no2));
|
|
INSERT INTO t1 VALUES (1,274),(1,275),(2,6),(2,8),(4,1),(4,2);
|
|
HANDLER t1 OPEN;
|
|
HANDLER t1 READ `primary` = (1, 1000);
|
|
no1 no2
|
|
HANDLER t1 READ `primary` PREV;
|
|
no1 no2
|
|
1 275
|
|
DROP TABLE t1;
|
|
create table t1 (c1 int);
|
|
insert into t1 values (14397);
|
|
flush tables with read lock;
|
|
drop table t1;
|
|
ERROR HY000: Can't execute the query because you have a conflicting read lock
|
|
send the below to another connection, do not wait for the result
|
|
drop table t1;
|
|
proceed with the normal connection
|
|
select * from t1;
|
|
c1
|
|
14397
|
|
unlock tables;
|
|
read the result from the other connection
|
|
proceed with the normal connection
|
|
select * from t1;
|
|
ERROR 42S02: Table 'test.t1' doesn't exist
|
|
drop table if exists t1;
|
|
Warnings:
|
|
Note 1051 Unknown table 't1'
|
|
drop table if exists t1;
|
|
create table t1 (a int) ENGINE=MEMORY;
|
|
--> client 2
|
|
handler t1 open;
|
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
|
--> client 1
|
|
drop table t1;
|
|
drop table if exists t1;
|
|
create table t1 (a int);
|
|
handler t1 open as t1_alias;
|
|
handler t1_alias read a next;
|
|
ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
|
|
handler t1_alias READ a next where inexistent > 0;
|
|
ERROR 42S22: Unknown column 'inexistent' in 'field list'
|
|
handler t1_alias read a next;
|
|
ERROR 42000: Key 'a' doesn't exist in table 't1_alias'
|
|
handler t1_alias READ a next where inexistent > 0;
|
|
ERROR 42S22: Unknown column 'inexistent' in 'field list'
|
|
handler t1_alias close;
|
|
drop table t1;
|
|
drop table if exists t1,t2;
|
|
create table t1 (c1 int);
|
|
create table t2 (c1 int);
|
|
insert into t1 values (1);
|
|
insert into t2 values (2);
|
|
connection: default
|
|
handler t1 open;
|
|
handler t1 read first;
|
|
c1
|
|
1
|
|
connection: flush
|
|
flush tables;;
|
|
connection: default
|
|
handler t2 open;
|
|
handler t2 read first;
|
|
c1
|
|
2
|
|
handler t1 read next;
|
|
c1
|
|
1
|
|
handler t1 close;
|
|
handler t2 close;
|
|
drop table t1,t2;
|
|
drop table if exists t1,t2;
|
|
create table t1 (c1 int);
|
|
connection: default
|
|
handler t1 open;
|
|
handler t1 read first;
|
|
c1
|
|
connection: flush
|
|
rename table t1 to t2;;
|
|
connection: default
|
|
handler t2 open;
|
|
handler t2 read first;
|
|
c1
|
|
handler t1 read next;
|
|
ERROR 42S02: Table 'test.t1' doesn't exist
|
|
handler t1 close;
|
|
handler t2 close;
|
|
drop table t2;
|
|
drop table if exists t1;
|
|
create temporary table t1 (a int, b char(1), key a(a), key b(a,b));
|
|
insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
|
|
(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
|
|
select a,b from t1;
|
|
a b
|
|
0 a
|
|
1 b
|
|
2 c
|
|
3 d
|
|
4 e
|
|
5 f
|
|
6 g
|
|
7 h
|
|
8 i
|
|
9 j
|
|
handler t1 open as a1;
|
|
handler a1 read a first;
|
|
a b
|
|
0 a
|
|
handler a1 read a next;
|
|
a b
|
|
1 b
|
|
handler a1 read a next;
|
|
a b
|
|
2 c
|
|
select a,b from t1;
|
|
ERROR HY000: Can't reopen table: 'a1'
|
|
handler a1 read a prev;
|
|
a b
|
|
1 b
|
|
handler a1 read a prev;
|
|
a b
|
|
0 a
|
|
handler a1 read a=(6) where b="g";
|
|
a b
|
|
6 g
|
|
handler a1 close;
|
|
select a,b from t1;
|
|
a b
|
|
0 a
|
|
1 b
|
|
2 c
|
|
3 d
|
|
4 e
|
|
5 f
|
|
6 g
|
|
7 h
|
|
8 i
|
|
9 j
|
|
handler t1 open as a2;
|
|
handler a2 read a first;
|
|
a b
|
|
0 a
|
|
handler a2 read a last;
|
|
a b
|
|
9 j
|
|
handler a2 read a prev;
|
|
a b
|
|
8 i
|
|
handler a2 close;
|
|
drop table t1;
|
|
drop table if exists t1,t2;
|
|
create table t1 (a int);
|
|
handler t1 open as t1_alias;
|
|
drop table t1;
|
|
create table t1 (a int);
|
|
handler t1 open as t1_alias;
|
|
flush tables;
|
|
drop table t1;
|
|
create table t1 (a int);
|
|
handler t1 open as t1_alias;
|
|
handler t1_alias close;
|
|
drop table t1;
|
|
create table t1 (a int);
|
|
handler t1 open as t1_alias;
|
|
handler t1_alias read first;
|
|
a
|
|
drop table t1;
|
|
handler t1_alias read next;
|
|
ERROR 42S02: Unknown table 't1_alias' in HANDLER
|
|
create table t1 (a int);
|
|
create temporary table t2 (a int, key(a));
|
|
handler t1 open as a1;
|
|
handler t2 open as a2;
|
|
handler a2 read a first;
|
|
a
|
|
drop table t1, t2;
|
|
handler a2 read a next;
|
|
ERROR 42S02: Unknown table 'a2' in HANDLER
|
|
handler a1 close;
|
|
ERROR 42S02: Unknown table 'a1' in HANDLER
|
|
create table t1 (a int, key(a));
|
|
create table t2 like t1;
|
|
handler t1 open as a1;
|
|
handler t2 open as a2;
|
|
handler a1 read a first;
|
|
a
|
|
handler a2 read a first;
|
|
a
|
|
alter table t1 add b int;
|
|
handler a1 close;
|
|
ERROR 42S02: Unknown table 'a1' in HANDLER
|
|
handler a2 close;
|
|
drop table t1, t2;
|
|
create table t1 (a int, key(a));
|
|
handler t1 open as a1;
|
|
handler a1 read a first;
|
|
a
|
|
rename table t1 to t2;
|
|
handler a1 read a first;
|
|
ERROR 42S02: Unknown table 'a1' in HANDLER
|
|
drop table t2;
|
|
create table t1 (a int, key(a));
|
|
create table t2 like t1;
|
|
handler t1 open as a1;
|
|
handler t2 open as a2;
|
|
handler a1 read a first;
|
|
a
|
|
handler a2 read a first;
|
|
a
|
|
optimize table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
|
test.t1 optimize status OK
|
|
handler a1 close;
|
|
ERROR 42S02: Unknown table 'a1' in HANDLER
|
|
handler a2 close;
|
|
drop table t1, t2;
|
|
create table t1 (a int, b char(1), key a(a), key b(a,b));
|
|
insert into t1 values (0,"a"),(1,"b"),(2,"c"),(3,"d"),(4,"e"),
|
|
(5,"f"),(6,"g"),(7,"h"),(8,"i"),(9,"j");
|
|
handler t1 open;
|
|
handler t1 read a first;
|
|
a b
|
|
0 a
|
|
handler t1 read a next;
|
|
a b
|
|
1 b
|
|
flush tables;
|
|
handler t1 read a next;
|
|
a b
|
|
0 a
|
|
handler t1 read a next;
|
|
a b
|
|
1 b
|
|
flush tables with read lock;
|
|
handler t1 read a next;
|
|
a b
|
|
0 a
|
|
unlock tables;
|
|
drop table t1;
|
|
handler t1 read a next;
|
|
ERROR 42S02: Unknown table 't1' in HANDLER
|