mariadb/mysql-test/suite/archive/discover.result
Sergei Golubchik 8d0238a6d8 MDEV-4955 discover of table non-existance on CREATE
Fix ha_table_exists() to take discovery into account correctly.
It must be able to discover both table existence (when no frm is
found) and table non-existance (when frm was found).
2014-02-27 22:43:42 +01:00

141 lines
2.5 KiB
Text

create table t1 (a int) engine=archive;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
insert t1 values (1);
show tables;
Tables_in_test
t1
#
# simple discover on use
#
flush tables;
insert t1 values (2);
select * from t1;
a
1
2
t1.ARZ
t1.frm
#
# show tables
#
create table t2 (a int) engine=archive;
select * from t2;
a
flush tables;
show tables;
Tables_in_test
t1
t2
t1.ARZ
t2.ARZ
t2.frm
#
# show full tables
#
flush tables;
show full tables;
Tables_in_test Table_type
t1 BASE TABLE
t2 BASE TABLE
t1.ARZ
t2.ARZ
t2.frm
#
# discover on truncate
#
flush tables;
truncate table t1;
ERROR HY000: Storage engine ARCHIVE of the table `test`.`t1` doesn't have this option
t1.ARZ
t1.frm
t2.ARZ
t2.frm
#
# discover on rename
#
flush tables;
rename table t2 to t0;
t0.ARZ
t1.ARZ
t1.frm
#
# discover on HA_ERR_TABLE_DEF_CHANGED
#
alter table t1 modify a int default 5;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
#
# discover on drop
#
flush tables;
drop table t1;
t0.ARZ
#
# discover of table non-existance on drop
#
select * from t0;
a
flush tables;
drop table t0;
show status like 'Handler_discover';
Variable_name Value
Handler_discover 6
#
# Bug#45377: ARCHIVE tables aren't discoverable after OPTIMIZE
#
create table t1 (a int) engine=archive;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
insert into t1 values (1);
optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
flush tables;
insert into t1 values (2);
select * from t1 order by a;
a
1
2
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
drop table t1;
#
# BUG#58205 - Valgrind failure in fn_format when called from
# archive_discover
#
create table `a/../`(a int) engine=archive;
select * from `a/../`;
a
flush tables;
drop table `a/../`;
create database test1;
create table test1.t1 (i int) engine=archive;
drop database test1;
create table t1 (a int) engine=archive;
select * from t1;
a
flush tables;
select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
create table t1 (a int) engine=archive;
select * from t1;
a
flush tables;
create table t1 (a int) engine=archive;
flush tables;
create table t1 (a int) engine=archive;
ERROR 42S01: Table 't1' already exists
drop table t1;