Commit c707c7ea authored by unknown's avatar unknown

BUG#20637: "load data concurrent infile" locks the table

Note that we ignore CONCURRENT if LOAD DATA CONCURRENT is used from
inside a stored routine and MySQL is compiled with Query Cache support
(this is not in the manual).

The problem was that the condition test of "we are inside stored routine"
was reversed, thus CONCURRENT _worked only_ from stored routine.  The
solution is to use proper condition test.

No test case is provided because the test case would require a large
amount of input, and it's hard to tell is SELECT is really blocked or
just slow (subject to race).


sql/sql_yacc.yy:
  Fix the condition of TL_WRITE_CONCURRENT_INSERT on LOAD DATA CONCURRENT,
  which was reversed, and return valid value if we are in SP.
parent 1031c460
......@@ -7031,6 +7031,8 @@ load_data_lock:
Ignore this option in SP to avoid problem with query cache
*/
if (Lex->sphead != 0)
$$= YYTHD->update_lock_default;
else
#endif
$$= TL_WRITE_CONCURRENT_INSERT;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment