On 05/27/2011 06:21 PM, Roy Lyseng wrote:
> Hi Guilhem, Gleb,
> A couple of comments on Guilhem's comments first.
>>> + This method:
>>> + a) allocates a select_send object (if no one pre-allocated available),
>>> + b) calculates and sends whole EXPLAIN data.
>>> + @returns
>>> + @retval FALSE Ok
>>> + @retval TRUE Error
>> GB39 nowadays the coding style allows true/false too, it's up to you.
> My preferred Doxygen documentation for return values is
> @return false if successful, true if error
> This is so common, and saves two lines without loss of information.
>> GB75 this code above resembles what is done in execute_sqlcom_select() (if
>> lex->describe is true), which is:
>> res= mysql_explain_union(thd, &thd->lex->unit, result);
>> if (res)
>> Can we make execute_sqlcom_select() call explain_data_modification(), to
>> avoid duplication?
>> The creation of the warning (of EXPLAIN EXTENDED) can also move into
> If this is done, explain_data_modification() must be renamed as a SELECT is not a
> data modification. My suggestion in that case would be explain_query_specification()
> (Query specification is the term used in the SQL standard for a SELECT block).
Done. (OTOH query printing is not done yet -- most likely will be in the some small future
WL. I've added a check inside explain_query_specification()).