ANNOUNCE: DBD::Informix Version 0.62 released
Posted in 1999
The next release of DBD::Informix, version 0.62, has been uploaded to CPAN. It will be available worldwide in a day or three. It has been a very long time since the last formal release (over a year), and about 9 months since the experimental release 0.61_02. Unfortunately, it is not clear that the production rate will improve. Also, very little has been done to ensure compatability with current DBI specs. This is an experimental version like version 0.61_02, but it needs the non-experimental number because part of the experiment is ensuring that CPAN will handle it correctly. Because it is experimental, you should use it with caution. The other main reason for labelling this an experiment is that the 'bad free()' problems are more prevalent than I'd like. It primarily affects the blob handling code (eg the tests t/t7[45]blob.t). DBD::Informix is the driver code that enables Perl 5.004 or 5.005 to access Informix databases via the DBI module (you'll need the code for both DBI version 1.02 or later and DBD::Informix). You should be planning to upgrade to at least version Perl 5.004_04 as some software in the DBI family will require this version (eg DBI::Shell). The DBD::Informix and DBI code is available for download via: http://www.perl.org/CPAN/modules/by-category/07_Database_Interfaces http://www.symbolstone.org/technology/perl/DBI ******************************************************************* ** When you successfully build DBD::Informix v0.62, please ** ** report your configuration so I can add it to Working.Versions ** ******************************************************************* Change in release 0.62: * DBI::errstr loses the trailing newline. This can affect error messages. The intent is to improve the messages produced by Perl (so that they include a line number). New in releases 0.61_02 and 0.62: * Added BugReport Perl script to generate the information needed for a bug report. * Fix CGI examples to use CGI::TR method. Information and revisions from David M Davisson <davisson@emuni.com>. * Record value of $INFORMIXDIR and $INFORMIXSERVER used at compile time in Informix.pm, so that the values can be reset at runtime. Based on code contributed by Honza Pazdziora <adelton@fi.muni.cz>. * Add partial support for IUS datatypes. My profound thanks to Rocky Bernstein <rocky@thewire.ap.org> for the sterling work he did in providing the code for LVARCHAR and BOOLEAN types. Also to Informix for allowing me to do some of this work in company time. I ran into some problems with the (lack of) documentation on handling SET, LIST, MULTISET, ROW types in dynamic ESQL/C, and ended up helping to write some of example code for the documentation. This was not completed. * DBD_INFORMIX_SERVER environment variable is obsolete (set server information in DBD_INFORMIX_DATABASE). Added DBD_INFORMIX_USERNAME2 and DBD_INFORMIX_PASSWORD2 for second connection. * Cleaned up tests -- only one test uses DBI->install_driver(). * Added some examples, including code for use with a web-server. See the examples subdirectory for details. Some of these exercise the more recent methods added to DBI (eg selectall_arrayref()). * Improve the NT support, mainly by pacifying MSVC better. * Improved support for threaded versions of Perl 5.005. * Add support for "perl -MCPAN -e 'install Bundle::DBD::Informix'". Definitively not about to happen: * Use the output from DESCRIBE of an UPDATE statement in ClientSDK 2.00 and the 7.30 servers. Regrettably, Informix bug B111987 (DESCRIBE ON UPDATE STATEMENT GIVES INADEQUATE (AND UNUSABLE) INFORMATION) needs to be resolved before it is possible to really make use of the feature. Succinctly, the DESCRIBE only tells you about input parameters used in the SET clause in the forms: SET a = ?, b = ? -- ANSI standard SET (a, b) = (?, ?) -- Informix extension It does not tell you about other parameters such as SET a = somefunc(?), b = ?, c = totherfunc(?, ?), d = ? WHERE e = ? AND f = yetanother(?) This would only yield two described values (instead of the seven it should), and no positional information to help you locate those described values in the SQL DESCRIPTOR. This is bitterly disappointing, and it means that it is *still* not possible to update blob columns with DBD::Informix. Further, it is improbable that this will be fixed in the forthcoming Centaur release as the bug was only discovered when the Centaur versions were in the final stages of their beta cycle and this is a mis-designed feature rather than a simple malfunction. Still to do: * Investigate whether using sqlda structures in place of SQL descriptors makes a significant difference to the performance of DBD::Informix. Note that although this has previously been described as a necessary precursor to providing support for Informix-ESQL/C v4.x or earlier versions, there are actually no longer any plans to provide such support in DBD::Informix. * Ensure that NT support works more nearly out of the box. * Support for LongReadLen et al, maybe. Next release: 0.95 (yes, really this time!) * This should, with luck, have full IUS support, and is planned as a preparatory release for a 1.00 DBD::Informix driver which will be fully compliant with the DBI standard. If a miracle occurs, then the same code would be released as 1.00. Assuming the normal development cycle, there will be a short succession of releases leading up to 1.00. Apologies: * I've not updated the working versions file with those who have told me about working versions. * I may have omitted to include contributions from some people in this version. Even worse, I may have accidentally failed to attribute some changes. If you feel slighted, let me know. * There appears to be a problem with ix_AutoErrorReport. Since you should be using PrintError instead, please don't try to report the bug; assume ix_AutoErrorReport is about to vanish and use PrintError instead. * I wish the IUS support was more complete, but I found omissions in the Informix documentation which side-tracked me instead of allowing me to actually code DBD::Informix. * The documentation has not been overhauled as thoroughly as I'd like. Let me know of problems, as usual, and solutions too when you have them. Enjoy! Jonathan Leffler (j.leffler@acm.org) #include <disclaimer.h> PS: Read the README file. Also read the Informix.Licence file. @(#)$Id: Announce,v 62.2 1999/08/30 17:48:51 jleffler Exp $ Yours, Jonathan Leffler (jleffler@informix.com) #include <disclaimer.h> Guardian of DBD::Informix v0.60 (v0.61_02) -- http://www.perl.com/CPAN "I don't suffer from insanity; I enjoy every minute of it!"