Change Log for DBD::Informix for DBI

- Written by Alligator Descartes <descarte@arcana.co.uk>
- Rewritten by Jonathan Leffler <j.leffler@acm.org>

0.61_02 Release
---------------
98-12-14: Go for general release with know 'bad free()' problems.

0.61_01 Release
---------------
98-12-07; Released internally at Informix.
98-11-25: Fix the code to detect NT (Win32) using suggestion from Andy
          Williams <andy_williams@pa.press.net>.  Ken Scott
          <kscott@pcisys.net> first identified the problem and sent in an
          alternative fix using an exact match rather than a regular
          expression.
98-11-23: The code did not get uploaded to CPAN.  Proving tests show that
          there were problems, especially bad frees on blob testing when
          run with 'make test', but not when run with the test.one script.
          Added t/t99clean.t to remove most of the debris from the test
          database, and add warning to README emphasizing this.  Need to
          split dbdimp.ec into components (eg dbdimpdr.ec, dbdimpdb.ec,
          dbdimpst.ec) and amend dbdimp.h to declare newly visible
          functions because it's over 2000 lines, it's too damn big, and
          it's going to grow some more before IUS support is really
          complete.  Drop version numbers from MANIFEST, and tools to
          maintain them.
98-11-17: Add code from Honza Pazdziora <adelton@fi.muni.cz> which records
          the value of INFORMIXDIR and INFORMIXSERVER used at build time to
          set the defaults at run-time.  Set version 0.61_01 (experimental).
98-11-09: Add DBD_INFORMIX_ESQLC_LINKAGE environment variable after report
          by Duc H Nguyen <dhn@benvolio.nova.att.com> who states that
          ESQL/C 7.24.UC[56] (probably on HP-UX 10.20) links with static
          libraries by default.  He provided a workaround hacking esql.
          Robert Cowham <CowhamR@logica.com> ran into this problem.
98-11-04: Revise assert handling so that assertions are off by default.
          Code now ignores DBD_INFORMIX_DISABLE_ASSERT and only responds to
          DBD_INFORMIX_ENABLE_ASSERT instead.
98-11-03: Remove test for __STDC__ in esqltest.ec -- it causes unwarranted
          problems on, for example, AIX and NT and gives minimal benefit on
          any system, especially since Perl 5.005 has to be compiled by an
          ANSI C compiler (prototype aware compiler).  Reported by both
          David Edge <dedge@ak.blm.gov> and Geoffrey Rommel
          <grommel@sears.com>.
98-11-02: Add bundles for DBI and DBD::Informix to simplify the builds.
98-10-29: Merge in threading patch from Jan Iven <j.iven@rz.uni-sb.de>.
98-10-28: Commence work on IUS compatability.  Abolish DBD_INFORMIX_SERVER;
          DBD_INFORMIX_DATABASE should contain required server information
          in the appropriate format.  Add variables DBD_INFORMIX_USERNAME2
          and DBD_INFORMIX_PASSWORD2.  Fix multi-connection tests so that
          they use the username and password information (problem found by
          both Ben Laurie <ben@algroup.co.uk> and Geoffrey Rommel
          <grommel@sears.com>).  Add and use DBD_IX_BOOLEAN macro to fix
          problems with MSVC on NT found by Manish Dharwadker
          <manishd@informix.com>.
98-10-27: Add examples subdirectory, and initial examples.
98-09-25: Fix esqlc.h for 7.1x ESQL/C so it explicitly includes value.h,
          thanks to David Edge <dedge@ak.blm.gov>.
98-09-04: Fix misuse of $user for $pass in t/t00basic.t, thanks to Kevin
          White <kwhite@redroof.com>.
98-08-13: Version numbering changes.

0.60 Release
------------
98-08-12: Final tidying up and release.
98-08-10: Release to Albert W Dorrington <awdorrin@ictest.delcoelect.com>
          as 0.60b1 to give him HP-UX and GCC fixes.  Partially rework the
          t00basic.t test to fix the problems accessing databases which
          require a username and password.
98-08-06: Fix problem with error -608 originally reported by Kenji Hino
          <kenji@alcatraz.net>, related to handling a null blobs.  Maybe
          this fix also fixed the -451 errors reported by both John Keston
          <jkeston@wamnet.com> and Brian Renaud <renaud@ans.net>; the
          change could plausibly resolve that error too, but none of us was
          able to reproduce the -451 error on demand, so we don't know for
          sure.
98-08-05: Integrate changes by R Bernstein <rocky@panix3.panix.com> which
          give support for IUS datatype BOOLEAN.  This has not been fully
          tested on an IUS (IDS/UDO) engine, and may not handle nulls
          correctly.  It is not complete IUS support by any stretch of the
          imagination.  Add some new material to the hints directory, even
          though they are not hints about compiling DBD::Informix.
98-07-30: Revise the data_sources method to include the 'dbi:Informix:'
          prefix mandated by the DBI specification.
98-07-29: Finish renaming the tests.  Use MSD/NMD technology to create
          directory from which distribution is made -- to ensure that
          correct versions of all library files which are not mastered
          under the DBD/Informix directory are fully up to date.  Drop
          sqlcmd.sh as it is (a) unused and (b) superseded by DBI::Shell.
          Add two new attributes, $sth->{ix_StatementText} and
          $dbh->{ix_DatabaseName}.  Note that $dbh->{Name} returns the name
          of the database when DBI->connect() is called, but the name of
          he current database can be changed by things such as CLOSE
          DATABASE and DATABASE or CREATE DATABASE statements;
          $dbh->{ix_DatabaseName} reports the current database name.  When
          last row is fetched, implicitly close (finish) the cursor, as
          requested by Tim Bunce.  Explicit finish is only required if the
          loop is terminated early.
98-06-25: Include notes from Yang-Chao lin <ylin@sr.hp.com> about compiling
          on HP-UX with ESQL/C 5.x or 6.x.  Also upgrade the comments about
          IUS types for those who do not know anything other than IUS, such
          as Stephen Pillinger <S.M.Pillinger@cs.bham.ac.uk> who first
          alerted me to this problem.
98-06-16: Include notes from Alex Shah <ashah@atg.eb.com> on __eprintf().
98-06-15: Incorporate __eprintf() fix from Bernd Gill <bernd@dsi.co.nz>.
          Include the HP-UX 10.20 build notes from Reed White
          <REED_WHITE@HP-Corvallis-om1.om.hp.com>.  Improve esqltest.ec.
          Add new environment variables DBD_INFORMIX_USE_EPRINTF_CODE and
          DBD_INFORMIX_DISABLE_ASSERT to Makefile.PL.
98-05-19: Change test to fail after trying to drop table dbd_ix_blobtest
          in t/blob02.t when table exists but cannot be dropped by user.
          Problem found by Nuno Carneiro de Moura <ncmoura@net.mailcom.pt>.
98-03-11: Version numbering changes.

0.59 Release
------------
98-03-11: Make a release to try and resolve ongoing problems at AirTouch.
          NB: this release not sent to CPAN.
98-03-04: Chuck Collins <Chuck.Collins@AirTouch.COM> discovered that the
          dbd_ix_preparse() routine gets confused by DATETIME and INTERVAL
          literals -- it was treating '30:20:10' as '30??' because the
          literals are not inside a string.  Fixed by not recognizing
          Oracle-style numeric place-holders (Oracle-style named place-holders
          were already ignored because they can be confused with dbase:table).
98-02-20: Chuck Collins <Chuck.Collins@AirTouch.COM> discovered an assertion
          failing in MODE ANSI databases when an UPDATE didn't update any
          rows.  Fix assertion to cover this case.  Testing reveals that if
          you create a database, the logging status, etc, are not set
          correctly.  This also causes an assertion to fire.
98-02-17: DBI 0.93 released with fix for '.xsi' problem.
98-02-11: Problem with Informix.xsi resolved.  Needs extra dependency in
          generated Makefile, which is triggered by the DBI version.
98-02-06: Document problems with DBI 0.92 (no Informix.xsi file).

0.58 Release
------------
98-01-15: Finish up NT build work, and release in time for the Win32 Perl
          Resource Book deadline (phew) and also just before switching jobs
          from Informix to Visa.  Fix Makefile.PL and README file to make
          warnings about using ld to create shared libraries with gcc more
          stringent.  Kevin White <kwhite@redroof.com> and Michael Chandler
          <mpchandler@fedex.com> both had major problems on HP-UX 10.20
          with this, and the problems were not fully resolved at release
          time.  One issue was that the notation 'ENVVAR=value command' did
          not seem to be setting the environment variable, but Makefile.PL
          assumes this will work.  Maybe it should use Perl's %ENV instead.
98-01-14: More work on NT builds with help from Ken Scott <ken@apisys.net>
          and Patrick-James Dionisio <dionisio@netscape.com>.
98-01-13: Use warn instead of die to report lower than ideal DBI version in
          Makefile.PL.  Also make corrections for NT builds based on
          feedback from Ken Scott <kscott@pcisys.net>.
98-01-12: Fix dbd_ix_preparse() so it does not convert :alpha into ? after
          Chuck Collins <Chuck.Collins@AirTouch.COM> pointed out that
          SELECT * FROM sysmaster:systabnames gives a syntax error in 0.57.
98-01-07: Initial attempt at integrating Makefile.NT into Makefile.PL.
98-01-06: Modify Makefile.PL to give a reason for failure when stating that
          you did not read the README file after Michael Chandler
          <mpchandler@fedex.com> ran into problems identifying the source
          of such a failure.
98-01-05: Update copyright dates.  Change email address for maintainer.
97-12-03: Simplify the version testing to ignore the lists of libraries.
          The test compilation ensures that everything is OK, or not.
          Also, simply use the local copy of odbctype.h, without checking
          whether any ODBC is available or not.
97-11-18: Steven Hronek <hronek@lsil.com> asked whether ESQL/C was still
          necessary.  Ensure that README is absolutely clear that it is,
          and mention DBD::ODBC as a possible alternative.

0.57 Release
------------
97-11-17: Final clean up and testing.  Version 0.56 released.
97-10-19: Handle the 'esql -libs' process rather differently, because of
          the bug in older versions of the esql script which do not echo
          the name of the netstub library when necessary (a problem found
          by Rodger Anderson <rodger@hpbs2245.boi.hp.com> in July, but only
          now resolved).  Record information about compiling with c4gl only
          in Informix.Licence, after answering questions from Paul Falbe
          <paul@cassens.com>.
97-10-08: Change the name of the sqlca element of imp_dbh to ix_sqlca to
          avoid the macro renaming used in threaded versions of ESQL/C such
          as on Windows 95 and Windows NT.  This change and success with a
          Windows 95 and Windows NT port reported by Harald Ums
          <Harald.Ums@sevensys.de>.  Also a change to esqlc.h, triggered by
          the need to use sqlproto.h, and use io.h in place of unistd.h in
          ixblob.ec, and do not release 'unreleased' blobs...  Makefile.PL
          still to be upgraded.
97-10-08: Record Informix ESQL/C's ability to change the environment
          without Perl knowing about it, after the problem found by Jay
          Ludoviconi <jludovic@paging.mot.com> was tracked down.
97-10-03: Add Working.Versions file after a suggestion by Nuno Carneiro de
          Moura <ncmoura@net.mailcom.pt>
97-08-13: Add file hints/static.build with info about building statically
          linked Perl executables from Kent S Gordon <kgor@inetspace.com>.
          Clean up function entry and exit reporting.
97-08-01: Add _tables and _columns metadata methods.
97-07-29: Update to use the templates from DBI v0.89, etc.  Amend README
          after Kent S Gordon <kgor@inetspace.com> noted that the engine
          version information could be useful.
97-07-21: Add dbd_ix_preparse() (based on code in DBD::ODBC 0.15) to
          pre-process an SQL statement, replacing Oracle-style :x notation
          with question mark place holders.  This allows DBD::Informix to
          support $sth->{NUM_PARAMS} properly, and reinstates functionality
          present in DBD::Informix 0.24 but summarily removed in version
          0.25.  Interestingly, of course, noone has complained, or even
          commented on this.
97-07-16: Kenji Hino <kenji@alcatraz.net> found that the test t/blob02.t
          failed for logged OnLine databases because of the changed
          AutoCommit handling; alter the criterion for doing $dbh->commit.
          Jason Bodnar <jcbodnar@mail.utexas.edu> found that the
          documentation for $dbh->do() was faulty; add the undef parameter
          for the unused \%attr documented by DBI.
97-07-14: Deal with the last of the deprecated attributes.  Work around the
          oddities (changes) introduced by ESQL/C 9.12.

0.56 Release
------------
97-07-10: Final clean up and testing (and workaround for problem in DBI
          0.85 when connections fail at connect time).
          Version 0.56 released.
97-07-09: Establish that DBI->connect(...,{AutoCommit=>0}) does not set the
          AutoCommit attribute until after the basic connect operation is
          complete.  DBD::Informix therefore cannot reject connections on
          unlogged databases in the basic connect operation.  Modified
          Informix.Licence after Raj Goel <frostbit@brainlink.com> needed
          to ask questions.  The difficulty with 'newbies' is that they
          quickly cease to be newbies so you need a continuous supply of
          new newbies.  Fix documentation in Informix.pm for AutoCommit,
          and behaviour of ix_InTransaction attribute.  Many thanks to Hank
          Robinson <cudau@csv.warwick.ac.uk> for his help clarifying the
          required behaviour of AutoCommit, and apologies for omitting his
          name in the original version of the 0.56 release notes.
97-07-08: Make $dbh->{ix_AutoErrorReport} a synonym for $h->{PrintError}.
97-07-07: Jason Bodnar <jcbodnar@mail.utexas.edu> pointed out that
          $sth->execute() is not returning undef when an error occurs.
97-06-25: Roderich Schupp <roderich@nodebonn.muc.bmw.de> found a similar
          problem using $dbh->do($stmt, undef, $arg1, $arg2), core dumping
          in the link code.  This could be reproduced with the as-released
          0.55 DBD::Informix but appears to be fixed, presumably by the fix
          for Fred's problem.  Also, ensure the t/dbase.t unsets both
          $ENV{DBI_DSN} and $ENV{DBI_DBNAME} to allow the implicit connect
          test to work (deduced from test output sent by Fred Arnold).
          Move comments about Solaris compiler into new file hints/solaris.
          Move README.M88K.SVR4 to hints/M88K.SVR4.
97-06-24: Found problems in DBI 0.84 where PrintError, RaiseError, ChopBlanks
          as handled by DBI cannot be unset -- Tim confirmed it is a bug in
          DBI and will be fixed in the next release.
97-06-23: Core dump problem found by Fred Arnold <ftarnol@uswest.com> in the
          code in link.c and the way it is used.  One part of the problem
          was that the IMPSET flag for a statement was not being set soon
          enough, so that DBI was not releasing the statement from the
          linked lists correctly.  The temporary fix includes a bodge that
          converts the deleted link into a single item linked list, so that
          when it is released again, it doesn't screw things up.  This
          needs to be cleaned up.  A 0.56a1 release was sent to Fred to get
          him over the immediate problem.
97-06-17: Jason Bodnar <jcbodnar@mail.utexas.edu> pointed out that BEGIN
          WORK is not being recognized via $dbh->do().  Testing showed a
          problem during disconnect on 7.1x servers (related to the B42204
          problem fixed on 97-05-30).  Fixing the disconnect was relatively
          simple.  Fixing the BEGIN WORK issues required the removal of the
          custom implementation of $dbh->do(), and some other changes.
97-06-13: Where there's one bug, there are usually others.  The other array
          attributes for statements (such as $sth->{NAME}) were not being
          mortalized and could be made to eat up memory if used inside an
          inner loop.  Upgrade non-distributed test bug001.t to catch these
          leaks too.
97-06-12: Fix trailing blanks on $sth->{NAME} attributes after problem
          reported by Roderich Schupp <roderich@nodebonn.muc.bmw.de>.  Also
          fix t/chopblanks.t not to create VARCHAR columns in SE.
97-05-30: Fix memory leak when using the $sth->{ix_sqlerrd} and
          $sth->{ix_sqlwarn} attributes repeatedly, reported by Oyvind
          Gjerstad <ogj@tglobe1.tollpost.no>.  The arrays in newSqlerrd()
          and newSqlwarn() were not being mortalized as they should be.
97-05-30: Only set -Ae on HP-UX when using cc, as reported by Nathan
          Neulinger <nneul@umr.edu> who was using gcc.  Also find and
          implement the CLOSE DATABASE workaround for bugs B42204 and
          B64926 which lead to -1800 errors when a 7.x ESQL/C application
          is talking to a 5.0x engine, also reported by Nathan.
97-05-29: Add support for $sth->rows and add simple test.
97-05-26: Add support for DBI->DataSources from DBI v0.82.  Update required
          software accordingly.
97-05-23: Fix Makefile.PL to recognize $INFORMIXDIR/bin at end of PATH,
          thanks to Paul Kulchenko <paul@mega.donetsk.ua>.
97-05-20: Change the handling of deprecated attributes per Informix.pm.
          Fix esqltest.ec when the same MODE ANSI database is used for both
          connections (thanks to Kent S Gordon <kgor@inetspace.com> for
          reporting this).

0.55 Bug-Fix Release
--------------------
97-05-20: ESQL/C Version 5.0x testing previously inadequate, and SQLSTATE
          does not exist in 5.0x, sothe compilation fails.  Also fixed the
          core dumps from t/nulls01.t and t/nulls02.t (nasty workaround)
          and the failure message in t/dbase.t.  Tested with 5.06.UC1,
          6.00.UE1, 7.22.UC2 and 9.10.UC2 on Sun Sparc 20 running Solaris
          2.5.1, using 2 Perl configurations: Perl 5.003 with GCC 2.7.2.2
          and Perl 5.004 with SUNWspro C Compiler SC3.0.1 -- all OK.
          Version 0.55 released.
97-05-19: Change the handling of deprecated attributes per Informix.pm.

0.54 Release
------------
97-05-16: Another major rework on Informix.Licence to make the requirements
          clearer to people with minimal exposure to Informix, after Honza
          Pazdziora <adelton@fi.muni.cz> had some problems with it.  Add
          notes from Anibal Jodorcovsky <anibal@nortel.ca> about
          compilation on Motorola M88K SVR4 machines in README.M88K.SVR4.
          Version 0.54 released.
97-05-15: ChopBlanks code added and tested.  VARCHAR was bad!  Statement
          level ChopBlanks attribute not tested (probably not operational;
          attribute probably remains as it was when the statement was
          prepared).
97-05-13: Finish adding driver fetch function, and consequential changes.
          SQLSTATE now available via DBI::state!
97-05-05: Revise ixblob.ec to use ixblob.h and transfer to general library.
          Eliminate BLOB_DUMMY_VALUE and BLOB_NULL_VALUE (can't think what
          they were to be used for!).  Consequential changes.
97-04-24: Add fix in Makefile.PL for DEC OSF/1 and ESQL/C 7.22 from Andrew
          Hunt <andy@toolshed.com>.  Reverse order of updates in ChangeLog.
          DEC OSF/1 changes also reported later by Debbie Ingram
          <djingram@mindspring.com>.
97-04-08: Add attribute $sth->{ix_Fetchable} to determine whether the
          statement needs data fetching or not.  Add this to sqlcmd.sh, which
          enables basic simulation of the full SQLCMD program.  Still need
          better Getopt module which allows for multiple occurrences of a
          single option on the command line (eg: multiple -e or -f options).
          Also need better handling of filenames versus commands in the rest
          of the arguments.  Note that the build process does not (yet) do
          anything with the source code of sqlcmd.sh.
97-04-01: Add '-Ae' for HP-UX unless $Config{ccflags} includes -Aa or -Ae,
          per information from Oyvind Gjerstad <ogj@tglobe1.tollpost.no>.
          Include $Config{ccflags} in the command line when building the
          ESQL/C test program.
97-03-28: Correct the handling of $dbase2 in multiple connections tests when
          DBD_INFORMIX_DATABASE2 is not set.  Fix required after John C
          Hossfeld <john@netpub.com> had problems.  Also report which database
          is being connected to!  Problem (and solution) also subsequently
          reported by James F Miner <jfm@winternet.com>.
97-03-26: Add ODBC type handling.
97-03-20: Update Makefile.PL to handle relocated DBIXS.h header, again.
97-03-18: Change the handling of deprecated attributes per Informix.PM.

0.53 Release
------------
97-03-06: Change the handling of deprecated attributes per Informix.PM.
          Update the README file to spell out the pre-requisites better.
          Update Makefile.PL with 0.53a1 version number, and so that it
          insists that $INFORMIXDIR is set, and that $INFORMIXDIR/bin is in
          $PATH.  Update tests to use the non-deprecated attributes.  Add the
          test program esqltest.ec to check that the ESQL/C environment is OK
          before creating the Makefile.
97-03-10: No changes over the weekend - the skiing at Squaw was fabulous!
          Update the POD to encourage the use of DBI->connect() in preference
          to $drh = DBI->install_driver().  Add two new, but fore-shadowed,
          driver attributes, ix_CurrentConnection and ix_ActiveConnections,
          though they're currently only set when the driver is loaded.
97-03-17: Update Informix.Licence to contain more comprehensive information
          on licencing and Netscape's LiveWire Pro.  Update t/updcursor.t so
          it passes on a logged (non-MODE ANSI) database.  Fix the problem
          with nulls found by Oyvind Gjerstad <ogj@tglobe1.tollpost.no> and
          now immortalized in the test case t/nulls02.t.  Change version to
          0.53 and release.

0.52 Release
------------
97-03-05: Add ESQL/C => DBD::Informix statement mapping to POD in Informix.PM,
          after suggestion by Bill Mitlyng <Bill.Mitlyng@abnamro.com>.
97-03-03: Use $DBI::VERSION to determine where DBIXS.h should be found.
97-03-02: Split attribute handling code from dbdimp.ec into dbdattr.ec.
          Add dbd_ix_module() function.  Revise the interface to the functions
          dbd_st_{FETCH|STORE} to match dbd_db_{FETCH|STORE} (they now take a
          pointer to imp_sth_t argument instead of a pointer to SV).
97-02-28: Add the Informix.Licence file to explain the licencing issues for
          Informix-ESQL/C.  Update the README file.  Fix the caching of
          attributes.  Add 'deprecated' warning to the system, and a way of
          turning the deprecated warnings off.  Use this method in
          InformixTest.pm.  Add the attribute handling of ix_XyZ as well as
          deprecating the corresponding XyZ attribute.  Fix the handling of
          SQLCA so that the inserted serial number is available, etc.  Version
          bumped to 0.52.

0.51 Release
------------
97-02-26: Add $sth->{CursorName} and $dbh->{ConnectionName}.  Add test
          updcursor.t to check that you can do 'UPDATE ... WHERE CURRENT OF'.
          Add ".DEFAULT." as an explicit way of making the default connection.
          Release version 0.51, and a patch, version 0.51p1.
97-02-25: Version bumped to 0.51.  Nulls on SELECT handled correctly.  Test
          nulls01.t added.  Notes on access to the SQLCA record added to the
          POD in Informix.PM, after this omission was noted by Torsten Stein
          <stein@cls.de>.
97-01-23: Fix InformixTest.pm so it works with perldoc.  It seems that perldoc
          does not like lines which start with a single quote.  Thanks to
          Jason Bodnar <jcbodnar@mail.utexas.edu> for pointing this problem
          out. Add and use stmt_err to report errors or warnings, and document
          it.

0.50 Release
------------
97-02-13: Version 0.50 released.  Handle null database names on connect so
          that CREATE DATABASE, etc, can be used.  ESQL/C 5.0x has to handle
          this by doing nothing (successfully) in dbd_ix_database(), but the
          disconnect code needs to know that there is no database so it
          doesn't try to close the current database.  This requires interface
          changes for dbd_ix_database() and dbd_ix_connect().  Add testing.
          Thanks to Serge Davidov <serge@fcmc.com> for finding the problem.
          You can also use DBI->connect('@server','','','Informix'), which
          actually worked in v0.25.  DBD::Informix is still confused, in
          general, by statements such as CLOSE DATABASE.
97-01-12: Version bumped to 0.50p1, for consistency with documented intentions
          when 0.25 release was made.

0.26 Release
------------
97-01-12: Use cursors WITH HOLD when a MODE ANSI database is working with
          AutoCommit set On.  Make transaction tests more sensitive.
          This release never made public.
97-01-09: Updated copyright messages.  Improved documentation.  Fixed tests.
          Add $dbh->{InTransaction} query.  Clean up dbdimp.ec so that
          AutoCommit works better. Etc.  Version 0.26a2.
96-12-20: Get transaction stuff to work, more or less, with AutoCommit On or
          Off, in MODE ANSI or Logged databases.  Tests t/transact0[123].t
          added, but these still need to be more formally verified.  They
          pass with OnLine and any type of database.  Clean up various tests
          so that they pass on MODE ANSI databases.  Add select_some_data
          and select_zero_data functions to InformixTest.pm. Etc.  Version
          0.26a1.  Use bug-fixed version of decsci.c (ouch!).
96-12-19: Add install instructions to README file after Wes Gamble
          <wgamble@informix.com> pointed out this omission.  Add extensive
          notes to Informix.PM on transaction management.  Implement most
          of what those notes say (WITH HOLD cursors omitted at the
          moment).
96-12-18: Fix bug in patched Makefile.PL (need space before __H_LOCALEDEF).
          Updated dbd_ix_setconnection() to take connection information, and
          updated code in dbdimp.ec to ensure that the correct connection is
          set before starting work.  Simple testing more or less works.  Some
          more major revisions, such as not passing SV* to most of the code in
          dbdimp.ec (let the Informix.c code convert as much as possible to
          plain C).  Rework the 'do' function to completely override
          DBI::_::db::do, avoiding problems with the rows() function.

0.25 Patch 2
------------
96-12-13: Update Makefile.PL to help the AIX people.  Version 0.25p2 created
          but only the Makefile.PL changes sent to the dbi-users@fugue.com so
          not released officially, though available publicly.

0.25 Patch 1
------------
96-12-10: Handle 5.00 and 5.01 by supplying actual array names to GET
          DESCRIPTOR, thus bypassing the bug.  Note that it does affect 5.01
          too; edited esql5_00.h to match.  Patch sent to Jeff Rowe who
          confirms it works.  (Note to JL: 5.01 found on Godzilla; what is
          installed as 5.00 is actually 4.10 ESQL/C).  Version 0.25p1 created
          but not released officially or publicly.

0.25 Release
------------
96-12-09: Finally worked out how SQL descriptors handle blobs.  Code now works
          safely with blobs located in memory.  However, with ESQL/C 7.21.UC1
          on Solaris 2.4, there is a memory leak corresponding to the space
          allocated for the blobs for a given statement unless you manually
          release it before deallocating the descriptor.  This is nasty, and
          may not be true of other versions.  Added test t/blob02.t.  Note
          that t/blob03.t uses the data created by t/blob02.t, so it must be
          run (reasonably successfully) before t/blob03.t can be run
          successfully.  Use decsci.[ch] code (plus auxilliary function
          decgen() inside dbdimp.ec) to format FLOAT, SMALLFLOAT, DECIMAL and
          MONEY quantities.  The 5.0x and 6.0x libraries do not always handle
          these gracefully.

With Thanks to the DBD::Informix v0.25 Testing Team:
John Wang - wangj@aromat.com
Del Simmons - del@infoman.com
Dave Thomas - dave@thomases.com
Oyvind Gjerstad - ogj@tglobe1.tollpost.no
Jeff Rowe - j.p.rowe@larc.nasa.gov
Rodlyn Joseph - bluephi@sharpcomm.com
Duc Nguyen - dhn@benvolio.nova.att.com
Serge Davidov - serge@fcmc.com

96-12-05: More revisions to Makefile.PL, some putting teeth into the
          prerequisites, some more dealing with DEC OSF (there's a compiler
          flag to say set __STDC__, as there usually is).  Rename nm_* inside
          the imp_sth structure.  Redefine the type of imp_sth->blobs and
          upgrade code to match.  Test t/blob03.t passes; some work to do to
          get t/blob04.t to pass.  Improved README.  Etc.
96-12-04: Update Makefile.PL to overcome Dave Thomas problems on DEC OSF
          (version 25.13 sent to him for approval, and comments incorporated
          into version 25.14 .. 25.16).  Also finish converting the tests in
          the t directory.
96-12-03: Update Makefile.PL (and esqlcc) to use '$(FULLPERL) esqlcc' etc.
          Rename the extratests directory to t for automatic testing as
          documented in the Test::Harness module.  Create (and document)
          InformixTest.pm to help with the test programs.  Note that
          test.pl does not exploit it all that much because it has to test
          some more basic stuff.  However, the other tests do use it.
          NB: ESQL/C 5.00 and 5.01 have a bug in the SQL descriptor code
          which means that using 'char *' as a type restricts you to precisely
          3 characters of data.  This is fixed in 5.02 and above.  Dammit!
96-12-02: Release 0.25b3 with some work incomplete.  Update Makefile.PL so
          that "make perl" works.  Note that INSERT and blobs does not work!
96-12-01: Upgrade Makefile.PL to use new Perl scripts esqlcc, esqlsed and
          esqlld to protect platforms such as DEC OSF/1 where the C
          compiler is not used to link shared libraries.  Also, only use
          GCC warnings when DBD_GCC_DEBUG is set in the environment.  Also
          use $(RM_F) to remove the generated C files instead of $(RM) so
          that it works for platforms like SCO where $(RM) is not defined
          by MAKE automatically.
96-11-30: Move sqlca handling to connection (not statement).
          Fix blob handling to the extent that SELECT works.  (INSERT and
          UPDATE still need fixing.  INSERT will probably be able to adapt
          the SELECT code to handle blobs.  UPDATE will be very tricky.
          Memory leaks may (probably) occur.
          Upgrade Makefile.PL to always set INFORMIXC when compiling ESQL/C.
96-11-26: Feedback from beta testers incorporated into build process.
          Not all problems will be resolved yet.  Version 0.25b2.
96-11-25: Changes leading up to 0.25b1 release.  Add sqlca record handling
          for statements.  Add use of EXEC IMMEDIATE when feasible.
96-11-19: Rewrite of dbdimp.ec more or less complete.  The ESQL/C code
          has been almost totally rewritten; the Perl interface code is
          still similar to what was there previously.  Nearly ready to go
          into release.  5.0x ESQL/C not linking OK on Solaris; not sure
          why.  7.21 is doing fine.
96-11-01: Control transferred to Jonathan Leffler <johnl@informix.com>.

0.24 Release
------------
96-09-26: Patches from Terry arrived.  This'll be the 0.25 release.  Seems to
          work.

0.23 Release
------------
96-09-18: Wrapped in a patch to Makefile.PL from Christophe Martin.  Added
          some other Makefile.PL patches of my own.  It should now support
          cleaner builds on HP-UX (spit!) and correctly detect when dbdimp.ec
          has changed.
96-09-18: Wrapped in patches by Terry Nightingale based on Bill Hailes'
          isqlperl for supporting multi-cursors.  Cleaned the type handling
          code again.
96-09-17: Added patch for bad column names as show in George Vicherek's
          splendid test case. (extratests/primitives.pl exercises this)

0.22 Release
------------
96-09-10: Fixed all numeric types to return correctly.  CHAR fields don't
          quite behave as planned, or perhaps they do.  Added 'multicursor'
          test which proves that simultaneous multiple cursors fail miserably.
96-09-09: Added @ary = $drh->func('_ListDBs'); method for getting a list of
          extant databases on the local Informix server.  (From original code
          and suggestion by George.Vicherek@Sciatl.COM)

0.21 Release
------------
95-09-01: Fixed truncated INTEGER bug.  Other numerical types still screwed.
          Patch on the way.

Pre-Release
-----------
96-04-14: Added support for CREATE, DROP, INSERT, UPDATE and DELETE.  Fixed
          $DBI::errnum and $DBI::errstr problems.  Fixed Informix.pm to stop
          reporting MSQL_HOME errors.  Fixed Makefile.PL.  Removed hacky
          'build' file and uses Makefile.PL exclusively now.
95-10-17: After a good break of about a month and a half, back in the saddle.
          We have data from SELECTs coming back from the database!  Released
          0.20pl0 Disney on ftp.mcqueen.com.  Limited hacker release.
95-08-18: Started.  Version 0.0.0 (Totally pre-alpha!)

--------------

Jonathan Leffler <johnl@informix.com>
@(#)$Id: ChangeLog,v 61.8 1998/12/15 01:00:39 jleffler Exp $