Loading mysql-test/mysql-test-run.pl +1 −0 Original line number Diff line number Diff line Loading @@ -744,6 +744,7 @@ sub command_line_setup () { $glob_use_embedded_server= 1; push(@glob_test_mode, "embedded"); $opt_skip_rpl= 1; # We never run replication with embedded $opt_skip_ndbcluster= 1; if ( $opt_extern ) { Loading mysql-test/r/analyze.result +8 −0 Original line number Diff line number Diff line Loading @@ -46,4 +46,12 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_ execute stmt1; Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype deallocate prepare stmt1; create temporary table t1(a int, index(a)); insert into t1 values('1'),('2'),('3'),('4'),('5'); analyze table t1; Table Op Msg_type Msg_text test.t1 analyze status OK show index from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 1 a 1 a A 5 NULL NULL YES BTREE drop table t1; mysql-test/t/analyze.test +8 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,14 @@ prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()"; execute stmt1; execute stmt1; deallocate prepare stmt1; # # 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; # End of 4.1 tests sql/sql_table.cc +10 −5 Original line number Diff line number Diff line Loading @@ -2563,12 +2563,17 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, if (fatal_error) table->table->s->version=0; // Force close of table else if (open_for_modify) { if (table->table->tmp_table) table->table->file->info(HA_STATUS_CONST); else { pthread_mutex_lock(&LOCK_open); remove_table_from_cache(thd, table->table->s->db, table->table->s->table_name, RTFC_NO_FLAG); pthread_mutex_unlock(&LOCK_open); /* Something may be modified, that's why we have to invalidate cache */ } /* May be something modified consequently we have to invalidate cache */ query_cache_invalidate3(thd, table->table, 0); } } Loading Loading
mysql-test/mysql-test-run.pl +1 −0 Original line number Diff line number Diff line Loading @@ -744,6 +744,7 @@ sub command_line_setup () { $glob_use_embedded_server= 1; push(@glob_test_mode, "embedded"); $opt_skip_rpl= 1; # We never run replication with embedded $opt_skip_ndbcluster= 1; if ( $opt_extern ) { Loading
mysql-test/r/analyze.result +8 −0 Original line number Diff line number Diff line Loading @@ -46,4 +46,12 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_ execute stmt1; Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype deallocate prepare stmt1; create temporary table t1(a int, index(a)); insert into t1 values('1'),('2'),('3'),('4'),('5'); analyze table t1; Table Op Msg_type Msg_text test.t1 analyze status OK show index from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 1 a 1 a A 5 NULL NULL YES BTREE drop table t1;
mysql-test/t/analyze.test +8 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,14 @@ prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()"; execute stmt1; execute stmt1; deallocate prepare stmt1; # # 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; # End of 4.1 tests
sql/sql_table.cc +10 −5 Original line number Diff line number Diff line Loading @@ -2563,12 +2563,17 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables, if (fatal_error) table->table->s->version=0; // Force close of table else if (open_for_modify) { if (table->table->tmp_table) table->table->file->info(HA_STATUS_CONST); else { pthread_mutex_lock(&LOCK_open); remove_table_from_cache(thd, table->table->s->db, table->table->s->table_name, RTFC_NO_FLAG); pthread_mutex_unlock(&LOCK_open); /* Something may be modified, that's why we have to invalidate cache */ } /* May be something modified consequently we have to invalidate cache */ query_cache_invalidate3(thd, table->table, 0); } } Loading