1
0
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:
Alexey Botchkov
2008-11-17 20:06:03 +04:00
parent ef3600b80b
commit 58701cae11
3 changed files with 21 additions and 0 deletions

View File

@ -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);