mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Bug #30389: connection_id() always return 0 in embedded server
Initialize thd->variables.pseudo_thread_id when a new embedded thd is created. libmysqld/lib_sql.cc: Add comment regarding duplication of code in create_embedded_thd() vs. create_new_thread() and prepare_new_connection_state(). This was a cause for not properly initializing the pseudo_thread_id variable. mysql-test/r/func_misc.result: Add test case to ensure connection_id() returns a sane value mysql-test/t/func_misc.test: Add test case to ensure connection_id() returns a sane value sql/mysqld.cc: Add comment warning of the duplication of code between create_new_thread() and create_embedded_thd() sql/sql_connect.cc: Add comment warning of the duplication of code between prepare_new_connection_state() and create_embedded_thd()
This commit is contained in:
@@ -564,6 +564,17 @@ void init_embedded_mysql(MYSQL *mysql, int client_flag)
|
||||
init_alloc_root(&mysql->field_alloc, 8192, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@brief Initialize a new THD for a connection in the embedded server
|
||||
|
||||
@param client_flag Client capabilities which this thread supports
|
||||
@return pointer to the created THD object
|
||||
|
||||
@todo
|
||||
This function copies code from several places in the server, including
|
||||
create_new_thread(), and prepare_new_connection_state(). This should
|
||||
be refactored to avoid code duplication.
|
||||
*/
|
||||
void *create_embedded_thd(int client_flag)
|
||||
{
|
||||
THD * thd= new THD;
|
||||
|
Reference in New Issue
Block a user