Week 528 Jun 2015
During this week I paid a lot of attention to understanding the old code so I would not create any new bugs by mistake and I got the chance to find a few new ones (or had no knowledge of them previously).
Since most bugs are caused by edge cases that the old parser cannot handle I decided that the best approach to fixing them is to continue implementing the new library. This week the sql-parser library suffered quite a few changes and I got the chance to see how it behaves in real situations. It still lacks some functionality (e.g. query builder and query formatter) which are needed, but those are planed to be written later. For now, I implemented temporary methods that, given the conditions, seem to work as expected.
One of the most difficult parts was the code from
sql.lib.php which has a high complexity, mixing some logic with view code and not being very consistent.
My task for the next two weeks is to refactor code related to the SQL library. I will definitely have to work more on
sql.lib.php, being one of the key components of phpMyAdmin.