ramblings on PHP, SQL, the web, politics, ultimate frisbee and what else is on in my life
Due to popular demand ..
.. I am almost a bit embarrased to say it .. but my diploma thesis is now published on Lulu for print on demand. This is version 1.0.1 which contains a few typos fixes spotted by people in the community. Many thanks for that feedback!
MySQL native driver project
MySQL AB invited me to Frankfurt to talk about their PHP native driver project. While I am not much of a C-hacker, I do know database API's and users preferences in them quite well from my work on MDB2. As such my job was to present a wish list for features. Do note that this is a wish list and any features I mention in this blog post are not yet in any definitive plan. Aside from that, I also took it upon me to make sure that whatever we do, we try to keep the API as clear and simple as possible.
So yesterday I pushed out the x.3.z releases of MDB2. Meaning I released MDB2 2.3.0 along with 1.3.0 versions of the driver packages. There were a lot of minor fixes for edge uses. The most important changes where in the sequence/autoincrement handling. I cleaned up a lot of little details that should lastInsertID() and currID() more consistent. The lastInsertID() method tries to return the last value generated on the given connection, whereas currID() returns the current value of a sequence. I also expanded the placeholder parser in prepare() to ignore things that look like placeholders inside quoted identifier and SQL comments. Previously only quoted strings where ignored. Aside from that I moved to the package.xml version 2 format, which means you now need PEAR 1.4 or higher to install MDB2, which according to Greg's stats should not hurt all too many users, but allows using some of the fancy features of the new format eventually.
Its done ..
I already knew my way around the open source database scene when I started preliminary research for my diploma thesis last December. However writing this paper has been a great opportunity to dive into this topic really indepth, dispelling some misconceptions of my own along the way. Once I finished my last courses at university in March, I began to focus on this topic. Obviously I was still doing some open source and commercial development on the side during this time. So all in all I probably put in around 6 months of time in this.