mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
40 lines
1.1 KiB
Text
40 lines
1.1 KiB
Text
|
#
|
||
|
# 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;
|
||
|
|