ramblings on PHP, SQL, the web, politics, ultimate frisbee and what else is on in my life
back

MDB2 hacking galore

I have started to get into an MDB2 hacking frenzy. This is not necessarily a good idea as I have tons of writing to do. Oh well I guess I will have to get into a writing frenzy soon as well.

  • I have decided to ignore the FrontBase SQL driver entirely for now.
  • The MySQL and MySQLi driver are now uptodate it seems. I did a number of tweaks to the reverse engineering and schema management code on both drivers.
  • The PostGreSQL should in theory also be uptodate.
  • The SQLite is also looking good, aside from the fact that the field reverse engineering code is broken (raise your hand if you want to take care of this ..) and primary key support is missing from createIndex()
  • According to David the MSSQL driver is also uptospeed (right?), though it seems to lack an implementation of createIndex()
  • The Interbase and Oracle drivers may need some code to be able to list primary contraints inside listTableIndexes() and it also needs to handle autoincremement fields in alterTable() and dropTable()

However this is all still fairly untested. So PHPUnit tests is another important todo item.

I also want to add a getServerVersion() method to all drivers before the next release.

MDB2_Schema has also seen a fair amount of attention. There someone just needs to go in and check if the autoincrement/primary key validation is correct. Essentially I think the missing things maybe that since autoincremement already implies a single column primary key it needs to ignore (as in not putting them into the array structure) redundant primary keys instead of throwing an error.

New helping hands appreciated as always. Hey, I can dream right? Of course Lorenzo, Helgi and David frequent contributors .. I am talking about new people :-)

Update: I just noticed that we may also need to do some magic to get dropIndex() to work properly in the Interbase and Oracle drivers ..