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).
parent 6fd6e099
...@@ -7031,6 +7031,8 @@ load_data_lock: ...@@ -7031,6 +7031,8 @@ load_data_lock:
Ignore this option in SP to avoid problem with query cache Ignore this option in SP to avoid problem with query cache
*/ */
if (Lex->sphead != 0) if (Lex->sphead != 0)
$$= YYTHD->update_lock_default;
else
#endif #endif
$$= TL_WRITE_CONCURRENT_INSERT; $$= 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