Monday, November 27, 2006

Ruby/Informix 0.3.0 and Rails/Informix 0.1.0 released

Finally, the ActiveRecord adapter for IBM Informix Dynamic Server is ready for its first release. I have tested it succesfully on Solaris 9 and Windows XP with IDS 9.4 and IDS 10.

Eric Herber has been so kind as to cover Ruby/Informix at The Informix Zone as part of a review of database interfaces for popular scripting languages. The Informix Zone is an excellent resource for IBM's Secret Weapon, either if you're a long time Informix user or just curious about the exciting future that IBM is preparing for it.

Guy Bowerman also tested Rails/Informix succesfully and has posted a walkthrough, using Curt Hibb's "Rolling with Ruby on Rails" tutorial, using Informix 10 on Windows 2003. He explains
clearly how to get Ruby on Rails up an running with Informix. Don't forget to come back to Guy's blog for interesting articles about Informix development, among others.

Ruby/Informix 0.3.0 is released and this time includes initial support for Smart Large Objects (SLOB), you can create, read and write them.

Finally, it's sad that after getting the driver and the adapter working fine, it seems that I will be unable to rewrite that legacy, buggy, undocumented and insecure application (SIAPSEP) which started it all. I'm probably quitting my job in one month*.

Anyways, I hope everybody enjoys (Ruby|Rails)/Informix as much as I have. I'll try to keep adding features to them, while I still have access to Informix servers. After that I won't be able to maintain them any more. But the source is open, do whatever you want with them (it's BSD licensed after all!).

* I'll be free for hiring then, here's my résumé if you're interested.

Saturday, November 11, 2006

Ruby/Informix 0.2.1 released

This is a minor release after 0.2.0 that replaces calls to free() with xfree() to avoid crashes on Windows XP SP1.

I missed the announce of Ruby/Informix 0.2.0 which basically got new handy methods to fetch and iterate over records:

fetch_hash_many(n), fetch_hash_all
Fetch records as hashes. fetch_hash_many fetches n records at most, fetch_hash_all fetches all records as hashes. Both return an array.

each_by(n), each_hash_by(n)
Iterate by n records at a time.

fetch!, fetch_hash!, each!, each_hash!
Work the same as their counterparts without the "!" sign, except that these ones reduce the creation of objects, reusing the same ones in each call, which make them faster and memory savy.

I'm looking forward now to implement Smart Large Objects, which may help me with the ActiveRecord adapter.