Hi Sergei,
You have removed the if statement in your patch and performing else part every time, I think the checking for existence of file won't be issue.
/*If this file has already been sourced, don't source it again.
|
- It's already available in the q_lines cache.
|
- */
|
- if (parser.current_line < (parser.read_lines - 1))
|
- ; /* Do nothing */
|
- else
|
- {
|
- DBUG_PRINT("info", ("sourcing file: %s", ds_filename.str));
|
- open_file(ds_filename.str);
|
- }
|
Also regarding the MDEV-12138, I found this :- A sourced file can use source to read other files,but the maximum nesting level is 16.
Sorry for late response, I had mid term exams last week!!
I've attached the fix, but it don't work because of MDEV-12138. May be the whole caching logic needs to be rewritten, and then this fix will be very different of completely unnecessary.