MDEV-34782 SIGSEGV in handler::update_global_table_stats in close_thread_table()
Handler statistics did not take into account that it could not be fully initialized in the table.
This commit is contained in:
parent
875d8c909f
commit
69686375a8
@ -287,3 +287,17 @@ test t1 a 8 1
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
set global userstat=@save_userstat;
|
set global userstat=@save_userstat;
|
||||||
# End of 11.5 tests
|
# End of 11.5 tests
|
||||||
|
#
|
||||||
|
# MDEV-34782 SIGSEGV in handler::update_global_table_stats in
|
||||||
|
# close_thread_table()
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a CHAR(1));
|
||||||
|
HANDLER t1 OPEN;
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
HANDLER t1 READ NEXT;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
SET GLOBAL userstat=1;
|
||||||
|
HANDLER t1 close;
|
||||||
|
drop table t1;
|
||||||
|
SET GLOBAL userstat=@save_userstat;
|
||||||
|
@ -162,3 +162,17 @@ drop table t1;
|
|||||||
set global userstat=@save_userstat;
|
set global userstat=@save_userstat;
|
||||||
|
|
||||||
--echo # End of 11.5 tests
|
--echo # End of 11.5 tests
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-34782 SIGSEGV in handler::update_global_table_stats in
|
||||||
|
--echo # close_thread_table()
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a CHAR(1));
|
||||||
|
HANDLER t1 OPEN;
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
HANDLER t1 READ NEXT;
|
||||||
|
SET GLOBAL userstat=1;
|
||||||
|
HANDLER t1 close;
|
||||||
|
drop table t1;
|
||||||
|
SET GLOBAL userstat=@save_userstat;
|
||||||
|
@ -6106,8 +6106,11 @@ void handler::update_global_table_stats()
|
|||||||
table_stats->rows_stats.deleted+= rows_stats.deleted;
|
table_stats->rows_stats.deleted+= rows_stats.deleted;
|
||||||
table_stats->rows_stats.key_read_hit+= rows_stats.key_read_hit;
|
table_stats->rows_stats.key_read_hit+= rows_stats.key_read_hit;
|
||||||
table_stats->rows_stats.key_read_miss+= rows_stats.key_read_miss;
|
table_stats->rows_stats.key_read_miss+= rows_stats.key_read_miss;
|
||||||
|
if (handler_stats)
|
||||||
|
{
|
||||||
table_stats->rows_stats.pages_accessed+= handler_stats->pages_accessed;
|
table_stats->rows_stats.pages_accessed+= handler_stats->pages_accessed;
|
||||||
table_stats->rows_stats.pages_read_count+= handler_stats->pages_read_count;
|
table_stats->rows_stats.pages_read_count+= handler_stats->pages_read_count;
|
||||||
|
}
|
||||||
changed= rows_stats.updated + rows_stats.inserted + rows_stats.deleted;
|
changed= rows_stats.updated + rows_stats.inserted + rows_stats.deleted;
|
||||||
table_stats->rows_changed_x_indexes+= (changed *
|
table_stats->rows_changed_x_indexes+= (changed *
|
||||||
(table->s->keys ? table->s->keys :
|
(table->s->keys ? table->s->keys :
|
||||||
|
Loading…
x
Reference in New Issue
Block a user