mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server.
GLOBAL STATUS is calculated by studying the list of threads. In the embedded server threads were not linked to the internal list, so the calculation always returns 0. Fixed by 'linking' the embedded-server threads to the same list per-file comments: libmysqld/lib_sql.cc Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server. Add newly created 'threads' to the internal thread list. Remove them from the list as they're freed. mysql-test/r/information_schema.result Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server. test result mysql-test/t/information_schema.test Bug#34517 SHOW GLOBAL STATUS does not work properly in embedded server. test case added
This commit is contained in:
@ -384,6 +384,7 @@ static void emb_free_embedded_thd(MYSQL *mysql)
|
||||
thd->clear_data_list();
|
||||
thread_count--;
|
||||
thd->store_globals();
|
||||
thd->unlink();
|
||||
delete thd;
|
||||
mysql->thd=0;
|
||||
}
|
||||
@ -627,6 +628,7 @@ void *create_embedded_thd(int client_flag)
|
||||
bzero((char*) &thd->net, sizeof(thd->net));
|
||||
|
||||
thread_count++;
|
||||
threads.append(thd);
|
||||
return thd;
|
||||
err:
|
||||
delete(thd);
|
||||
|
Reference in New Issue
Block a user