Report for week 11:

Hello!

This week I worked on cleaning up the code, commits and test cases.
I was a little less familiar with git rebase -i so tried a couple of things on a dummy repo first and then cleaned up the commits on my repo. I also worked on the coding style review and removed all the trailing white spaces and tabs mentioned in the review. To remove the last argument of mysql_prepare_insert() I tried a couple of things like not calling setup_fields() and setup_wild() separately for INSERT...SELECT...RETURNING and calling std::swap if select_insert is true. Like so
if(!lex->returning_list.is_empty())  
{
  if (select_insert)
    //std::swap()
  setup_fields() and setup_wild()
  if (selec_insert)
    //std::swap()
}
and also changing where the above functions are called. But that didn't work. So now calling it separately for INSERT..SELECT..RETURNING and other variants. I added separate function to sql_base.cc and sql_base.h which calls setup_fields() and setup_wild() so that not only the last argument can be removed but also lines of code can be reduced. All the occurrences of 

(wild_num && setup_wild(thd, table_list, field_list, NULL, wild_num,
                              &select_lex->hidden_bit_fields)) ||
      setup_fields(thd, Ref_ptr_array(),
                   field_list, MARK_COLUMNS_READ, NULL, NULL, 0)

can be replaced with setup_returning_fields(). (Since this is used in insert..returning, insert..select..returning, delete...returning and update...returning too).

On some lines of the test cases, the characters were coming to more than 80 characters. So fixed that and added some more test cases (INSERT...IGNORE..RETURNING and fields with auto_increment). Finally I merged all the commits made this week into one commit. My github repo is up to date with the latest changes.
Here is the link for the same: https://github.com/rucha174/server/commit/0d7eb4198cc0aadba42acb4960c17570270423f5

Regards,
Rucha Deodhar