<div dir="ltr"><div>Hello,</div><div><br></div><div>I have been using phpMyAdmin for years now and seeing that phpMyAdmin is a mentoring organisation for Google's Summer of Code, I thought of it as a great opportunity for me to get invloved in the community as a developer.</div><div><br></div><div>I am interested in the parser and the analyzer of SQL queries of phpMyAdmin. For the past days, I have been looking for a replacement library, but, unfortunately I was not able to find a suitable one. I came to the conclusion that this vital part of phpMyAdmin would benefit a lot from a rewrite.</div><div><br></div><div>Most of the current parsing libraries I found are no longer mantained; phpMyAdmin already has a huge codebase and adding even more code would be a pain in terms of maintainability. Huge fragments of code that are using the current `sqlparser` library would require changes as well. Moreover, the parser is an important part of the core and it has to be optimised, but flexible. From my experience, most libraries focus more on flexibility and tend to abstractize a lot, which might increase the overall complexity of the code.</div><div><br></div><div>A few goals I would like to accomplish by rewriting are:</div><div><br></div><div>- Modularize the code. What I mean is splitting the library into a lexer, a parser and other miscellaneous modules (e.g. query tester, builder, exporter etc.). In my opinion, this is one of the most important targets. Not only will the code be a lot more easier to understand and extend, but it will be a step closer to an object-oriented programmed phpMyAdmin. </div><div><br></div><div>- Find a better algorithm, in terms of speed and attention paid to detail as well (ANSI, traditional, strict checking).</div><div><br></div><div>- Implement new features. So far, I browsed through current tickets and came up with a list of issues that will potentially be fixed.</div><div><br></div><div><span style="white-space:pre-wrap">       </span><a href="https://sourceforge.net/p/phpmyadmin/bugs/3292/" target="_blank">https://sourceforge.net/p/phpmyadmin/bugs/3292/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/bugs/4447/" target="_blank">https://sourceforge.net/p/phpmyadmin/bugs/4447/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/bugs/4510/" target="_blank">https://sourceforge.net/p/phpmyadmin/bugs/4510/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/bugs/4718/" target="_blank">https://sourceforge.net/p/phpmyadmin/bugs/4718/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/bugs/4783/" target="_blank">https://sourceforge.net/p/phpmyadmin/bugs/4783/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/bugs/4787/" target="_blank">https://sourceforge.net/p/phpmyadmin/bugs/4787/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/feature-requests/1419/" target="_blank">https://sourceforge.net/p/phpmyadmin/feature-requests/1419/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/feature-requests/1611/" target="_blank">https://sourceforge.net/p/phpmyadmin/feature-requests/1611/</a></div><div><span style="white-space:pre-wrap">    </span><a href="https://sourceforge.net/p/phpmyadmin/feature-requests/262/" target="_blank">https://sourceforge.net/p/phpmyadmin/feature-requests/262/</a></div><div><br></div><div>I am looking for feedback, so please don't hesitate to send me any suggestion you might have!</div><div><br></div><div>Best regards,</div><div>Dan Ungureanu</div></div>