Loading myisam/mi_check.c +2 −1 Original line number Diff line number Diff line Loading @@ -402,7 +402,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info) full_text_keys++; if (share->state.key_root[key] == HA_OFFSET_ERROR && (info->state->records == 0 || keyinfo->flag & HA_FULLTEXT)) continue; goto do_stat; if (!_mi_fetch_keypage(info,keyinfo,share->state.key_root[key], DFLT_INIT_HITS,info->buff,0)) { Loading Loading @@ -498,6 +498,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info) param->max_level); all_keydata+=param->keydata; all_totaldata+=param->totaldata; key_totlength+=length; do_stat: if (param->testflag & T_STATISTICS) update_key_parts(keyinfo, rec_per_key_part, param->unique_count, param->stats_method == MI_STATS_METHOD_IGNORE_NULLS? Loading mysql-test/r/analyze.result +9 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,15 @@ check table t1; Table Op Msg_type Msg_text test.t1 check status OK drop table t1; 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; Table Op Msg_type Msg_text test.t1 analyze status OK analyze table t1; Table Op Msg_type Msg_text test.t1 analyze status Table is already up to date drop table t1; CREATE TABLE t1 (a int); prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()"; execute stmt1; Loading mysql-test/t/analyze.test +14 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,20 @@ 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 # Loading Loading
myisam/mi_check.c +2 −1 Original line number Diff line number Diff line Loading @@ -402,7 +402,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info) full_text_keys++; if (share->state.key_root[key] == HA_OFFSET_ERROR && (info->state->records == 0 || keyinfo->flag & HA_FULLTEXT)) continue; goto do_stat; if (!_mi_fetch_keypage(info,keyinfo,share->state.key_root[key], DFLT_INIT_HITS,info->buff,0)) { Loading Loading @@ -498,6 +498,7 @@ int chk_key(MI_CHECK *param, register MI_INFO *info) param->max_level); all_keydata+=param->keydata; all_totaldata+=param->totaldata; key_totlength+=length; do_stat: if (param->testflag & T_STATISTICS) update_key_parts(keyinfo, rec_per_key_part, param->unique_count, param->stats_method == MI_STATS_METHOD_IGNORE_NULLS? Loading
mysql-test/r/analyze.result +9 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,15 @@ check table t1; Table Op Msg_type Msg_text test.t1 check status OK drop table t1; 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; Table Op Msg_type Msg_text test.t1 analyze status OK analyze table t1; Table Op Msg_type Msg_text test.t1 analyze status Table is already up to date drop table t1; CREATE TABLE t1 (a int); prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()"; execute stmt1; Loading
mysql-test/t/analyze.test +14 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,20 @@ 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 # Loading