Ruby/Informix


Ruby extension for connecting to IBM Informix Dynamic Server, written in ESQL/C.

For installation instructions please read INSTALL.

  1. Supported platforms

  2. Documentation

  3. Data types

  4. Recommendations

  5. Caveats

  6. Support

  7. Supported platforms

Ruby/Informix has been tested succesfully on the following platforms:

Operating System Architecture Informix CSDK


Solaris 10 SPARC64 11.10.UC1 3.00UC2 Solaris 10 SPARC64 9.40FC6 3.00UC2 Solaris 9 SPARC64 9.40FC6 2.90UC3 Fedora Core 5 x86 10.00.UC3R1 2.90UC4 Fedora Core 4 x86 10.00.UC3R1 2.90UC4 SuSE Linux 9.3 x86 9.30TC1 2.90UC4 Gentoo Linux x86-64 7.32.HC1 2.90UC4 Windows XP Pro SP x86 9.40TC3 2.90TC1 Windows XP x86 9.30TC1 2.90TC4 HP-UX 11.11 PA-RISC 2.0 10.00.FC3R1TL 2.81

64-bit

Send me an e-mail if you have [un]succesfully tested Ruby/Informix on another platform.

  1. Documentation

Documentation generated by RDoc for each class, module and method can be found under the doc/ directory in this distribution and at the following web address:

ruby-informix.rubyforge.org/doc/

Examples of use can be found at:

ruby-informix.rubyforge.org

  1. Data types

All built-in data types are supported, except interval. As you would expect, numeric, string and boolean data types are mapped to their respective objects in Ruby; DECIMAL/MONEY, DATE, DATETIME and NULL are mapped to BigDecimal, Date, Time and nil respectively.

The notable exception is TEXT/BYTE columns, where Ruby/Informix expects an IO-based (File) or IO-like (StringIO) object as input, and returns an String object as output.

An Slob class exists in the Informix module for working with Smart Large Objects (CLOB/BLOB).

  1. Recommendations

  • use #drop for prepared statements and cursors or use them with blocks, to release Informix resources.

  • you can optimize cursor execution by changing the size of fetch and insert buffers, setting the environment variable FET_BUF_SIZE to up to 32767.

  1. Caveats

  • INTERVAL not implemented yet

  1. Support

Feel free to send me bug reports, feature requests, comments, patches or questions to my mailbox or Ruby/Informix’s forums and mailing list at Rubyforge (rubyforge.org/projects/ruby-informix/)


Gerardo Santana <gerardo.santana gmail> santanatechnotes.blogspot.com