Bug #16912362 LOAD DATA INFILE CLAIMS TO BE HOLDING

'SYSTEM LOCK' IN PROCESSLIST

Analysis
=========
Show processlist shows 'System Lock' in 'State' field while
LOAD DATA INFILE is running.

thd->proc_info update is missing in LOAD DATA INFILE path.
Thus any request will get last unpdated status from lock_table()
during open_table().

Fix:
=======
Update state information from LOAD DATA INFILE path.
This commit is contained in:
Ajo Robert 2016-01-28 17:40:17 +05:30
parent a4f2391d8d
commit 01d41f68b7

View File

@ -1,5 +1,5 @@
/* /*
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -253,6 +253,7 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
{ {
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
} }
thd_proc_info(thd, "executing");
/* /*
Let us emit an error if we are loading data to table which is used Let us emit an error if we are loading data to table which is used
in subselect in SET clause like we do it for INSERT. in subselect in SET clause like we do it for INSERT.