mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Following the naming scheme for tests related to functions, rename
analyse.test to func_analyse.test. Avoids confusion with the ANALYZE statement.
This commit is contained in:
87
mysql-test/t/func_analyse.test
Normal file
87
mysql-test/t/func_analyse.test
Normal file
@ -0,0 +1,87 @@
|
||||
#
|
||||
# Bug #10901 Analyze Table on new table destroys table
|
||||
# This is minimal test case to get error
|
||||
# The problem was that analyze table wrote the shared state to the
|
||||
# file and this didn't include the inserts while locked. A check was
|
||||
# needed to ensure that state information was not updated when
|
||||
# executing analyze table for a locked table. The analyze table had
|
||||
# to be within locks and check table had to be after unlocking since
|
||||
# then it brings the wrong state from disk rather than from the
|
||||
# currently correct internal state. The insert is needed since it
|
||||
# changes the file state, number of records. The fix is to
|
||||
# synchronise the state of the shared state and the current state
|
||||
# before calling mi_state_info_write
|
||||
#
|
||||
|
||||
create table t1 (a bigint);
|
||||
lock tables t1 write;
|
||||
insert into t1 values(0);
|
||||
analyze table t1;
|
||||
unlock tables;
|
||||
check table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(0);
|
||||
lock tables t1 write;
|
||||
delete from t1;
|
||||
analyze table t1;
|
||||
unlock tables;
|
||||
check table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values(0);
|
||||
analyze table t1;
|
||||
check table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
# Bug #14902 ANALYZE TABLE fails to recognize up-to-date tables
|
||||
# minimal test case to get an error.
|
||||
# The problem is happening when analysing table with FT index that
|
||||
# contains stopwords only. The first execution of analyze table should
|
||||
# mark index statistics as up to date so that next execution of this
|
||||
# statement will end up with Table is up to date status.
|
||||
create table t1 (a mediumtext, fulltext key key1(a)) charset utf8 collate utf8_general_ci engine myisam;
|
||||
insert into t1 values ('hello');
|
||||
|
||||
analyze table t1;
|
||||
analyze table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# procedure in PS BUG#13673
|
||||
#
|
||||
CREATE TABLE t1 (a int);
|
||||
prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()";
|
||||
execute stmt1;
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# bug#15225 (ANALYZE temporary has no effect)
|
||||
#
|
||||
create temporary table t1(a int, index(a));
|
||||
insert into t1 values('1'),('2'),('3'),('4'),('5');
|
||||
analyze table t1;
|
||||
show index from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
||||
#
|
||||
# Bug #30495: optimize table t1,t2,t3 extended errors
|
||||
#
|
||||
create table t1(a int);
|
||||
--error 1064
|
||||
analyze table t1 extended;
|
||||
--error 1064
|
||||
optimize table t1 extended;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
Reference in New Issue
Block a user