To: dbi-announce@isc.org, dbi-dev@isc.org, dbi-users@isc.org,
        informix-list@iiug.org, descarte@symbolstone.org
Subject: ANNOUNCE: DBD::Informix Version 0.62 released

The next release of DBD::Informix, version 0.62, has been uploaded to CPAN.
It will be available worldwide in a day or three.

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:
* 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 $
