One of the requests I’ve gotten for Squidhead is a MySQL version. Being the responsible Open Source author (or wanting to suck up to the people that are actually interested in it,) I tried to make it work with MySQL 5.0.
It did not go well. Specifically, I cannot call MySQL stored procedures from ColdFusion using <cfstoredproc>. (I get a null error from indexOfIgnoreCaseRespectQuotes in the MySQL driver.) It isn’t an absolute deal breaker, but makes my job much, much harder. I have to branch off more than just the database interaction. I would also have to branch off the CFC code too. (Which is much more complicated than the database stuff.)
So now I’m stuck at a quandary:
- Do I do the work to get it to interact with MySQL at Squidhead’s present level of features? OR
- Do I start adding features to Squidhead, along just the MSSQL path, and go back later and add MySQL support for the whole thing?
Part of my original logic behind doing it in MS SQL only, was that the problem I was trying to solve with Squidhead was DBA mandates of “You must use stored procedures!” My gut feeling was that this type of mandate was more likely to found in a shop with a more established database. I’m not knocking MySQL here, but stored procedures were just introduced in version 5.0, and a lot of shops don’t run it yet. Therefore less shops would mandate stored procedures with MySQL. So it would be smarter to go after an Oracle version than a MySQL version.
Then there are the features that I would like to add.
- I would like to remove the requirement identities. (I would do CRUD against Primary Keys.)
- I would like to add support for configuration metadata for things like “ORDER BY.”
- I would like to decouple the custom tags from the data retrieval cfc methods.
Does anyone out there with either an interest in Squidhead, or experience with an open source product have any advice?