← Back to team overview

maria-developers team mailing list archive

Weekly Report


Report for week 11:


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 (select_insert)
  setup_fields() and setup_wild()
  if (selec_insert)
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

(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:

Rucha Deodhar