Hi Serg,

On Mon, Jun 8, 2015 at 11:07 AM, Sergei Golubchik <serg@mariadb.org> wrote:
Hi, Nirbhay!

On Jun 02, Nirbhay Choubey wrote:
> revision-id: 1ed46831ed3a1c842b45f7819edd48a233080ce4
> parent(s): 6d5b723bdc3e04978619b9673fca266e0426916f
> committer: Nirbhay Choubey
> branch nick: 10.0-galera.ctas
> timestamp: 2015-06-02 17:59:32 -0400
> message:
>
> MDEV-8260 : Issues related to concurrent CTAS
>
> * Wait for aborted thd (victim) to release MDL locks
> * Skip aborting an already aborted thd
> * Defer setting OK status in case of CTAS
> * Minor cosmetic changes
> * Added a test case

So, I'm only reviewing non-wsrep part, ok?

Ok. :)
 
..skip..
 
I think we've discussed a slightly different fix,where the parent class
(select_insert) wouldn't need to check thd->lex->sql_command. Like,
create two methods

  select_insert::prepare_eof
  select_insert::send_ok_packet

the first method will have everything of the current
select_insert::send_eof but without ::my_ok part.
Then select_insert::send_eof() will be just

bool select_insert::send_eof()
{
  return prepare_eof() || send_ok_packet();
}

and select_create::send_eof() will do prepare_eof(), commit and other
stuff, send_ok_packet().

In this case you won't need to test for thd->lex->sql_command in the
parent class. And you won't need prepare_ok_info(), it'll be inside
send_ok_packet().

I have redone the patch with your suggestions.

http://lists.askmonty.org/pipermail/commits/2015-June/008023.html

Please have a look.

Thanks!

-- Nirbhay
  

Regards,
Sergei