Greetings,
Hope you are safe and doing great,
This post describes the things I've done during 22-28 June for Coding phase-1 under the mentor-ship of Sergei Golubchik and Oleksandr Byelkin for GSoC-20 to implement MDEV-12326. The tasks taken up for this week was to work towards validating the fields of the return list, requested by the client when it uses multi-table DELETE....RETURNING or multi-table UPDATE....RETURNING. If an invalid column name is requested in the return list then it should result in displaying:
ERROR 1054 (42S22): Unknown column '<invalid column>' in 'field list' .
Things I learnt while implementing this was, firstly that setup_fields and setup_wild functions validate the returning_item_list i.e. column names, expressions, etc. in RETURNING statement and understood that validation is done implicitly. Moreover, setup_returning_fields method could also be used interchangeably. Secondly, if we have to completely run a .test file that has many failing test cases then we should provide --force option twice, as in:
./mtr <file_name> --force --force.
I've also written and recorded the result for the above usecase, for multi-table DELETE.... RETURNING and will also do the same for multi-table UPDATE.... RETURNING very soon.
All in all coding phase-1 was really informative and I would like to thank MariaDB Foundation for having me. All the code is uploaded up to date in these remote repositories, please feel free to comment.
MULTI-TABLE UPDATE RETURNING:
https://github.com/MariaDB/server/compare/10.5...MohammedHMateen:MDEV-12326-multi-update-returning?expand=1
MULTI-TABLE DELETE RETURNING: https://github.com/MariaDB/server/compare/10.5...MohammedHMateen:MDEV-12326-multi-delete-returning?expand=1
Thank you
Regards,
Mohammed Hammaad Mateen