I posted the following message to the SQLObject mailing list a couple of weeks ago. I have since decided that it would probably be a good idea to send this to the TG list as well since most of you probably aren't on the SO list. Sorry to those of you who get this twice.
----- Like so many who have gone before me, I recently undertook the task of getting the trunk of SQLObject to work with Oracle. I've made some pretty good progress, so this morning I added a branch to the Subversion repository called trunk-oracle that includes Oracle support. If you are at all interested in using SQLObject with Oracle, please take a look at it, use it, test it, try to break it, etc. I've got it to the point that it meets all of my needs, but I also think it's very close to being good enough to add back into the trunk. Right now, test_blob.py, test_picklecol.py, and test_unicode.py don't pass. These are features that we didn't need at work, so I'm going to have to tackle them in my limited spare time at home unless someone else solves them first. I also had to make a couple of hacks along the way, so I'm going to list my worst offenses here. If anyone has a better idea on how to go about something, please either let me know or just go in and change it. 1) Oracle imposes a 30-character limit on object names (tables, sequences, indices, etc.), so that proved to be a bit of a burden along the way. I finally decided that, where applicable, this should be left as a documentation issue (i.e. don't make your object names too long). That works in most cases, but still leaves the issue of intermediate tables for joins. Unless all of your object names are cryptically short, you're probably going to run into an issue with the intermediate table names. My solution was to md5 the long names and then truncate that to an acceptable length. I realize that this isn't foolproof, but the odds of a name collision are still pretty low, and it hasn't given me any issues yet. I also had to take the same approach on long constraint names. 2) Some of the unit tests were failing because the right data was coming back, but in the wrong order. To fix the problem, I changed the tests to sort the data before the comparison takes place. I really don't like changing unit tests if I can help it, but since order isn't guaranteed anyway, I went ahead and did it. 3) Lastly, I don't have access to an instance of most of the databases that SQLObject supports, so I've only really tested my code against Oracle. Since most of my changes are in Oracle-specific areas of the code, I don't anticipate many problems, but it would still be nice to get some reassurance from others that everything still works. I've got a local Postgres database that I can try out, and obviously I can hit SQLite, but I'm hoping that I don't have to do too much about the rest. Sorry for the length of this e-mail, but I wanted to make sure that I got all of the relvant information out in the open. Please let me know if you have any questions or comments. Hopefully someone else will find all of this useful too :) Eric --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/turbogears -~----------~----~----~----~------~----~------~--~---

