develooper Front page | perl.dbi.dev | Postings from March 2012

DBD::ODBC 1.35 released

From:
Martin J. Evans
Date:
March 6, 2012 11:26
Subject:
DBD::ODBC 1.35 released
Message ID:
4F5664E0.4000006@easysoft.com
I've just uploaded DBD::ODBC 1.35 to CPAN.

This is the culmination of 7 development releases in the 1.34 chain and 
is a significant release containing a lot of changes and enhancements. 
As always I would like to thank everyone who has helped and especially 
CPAN testers. The full list of changes since the last official release 
is below. I particularly want to draw your attention to a native 
execute_for_fetch method (which is much faster than the default DBI 
method) and the new odbc_getdiagrec and odbc_getdiagfield methods. 
However, be aware that some ODBC drivers (e.g., SQLite and there are 
probably others) cannot do execute_for_fetch successfully. I've 
contacted driver writers where I've found this but as yet I've not got 
any resolution. If you are using a Windows ODBC driver or some 
proprietary UNIX ODBC drivers (like the Easysoft ones - disclaimer, I 
work for Easysoft) you are likely to have a lot more success with the 
native execute_for_fetch as Windows applications seem to have been doing 
this for longer so have ironed out the issues. Also note there are some 
changes in behaviour in this release.

=head2 Changes in DBD::ODBC 1.35 March 6 2012

   Full release of the 1.34 development releases

=head2 Changes in DBD::ODBC 1.34_7 March 2 2012

   [BUG FIXES]

   * Fixed more compiler errors highlighed by a smoker using MS Visual
     C where some code come before a variable definition.

=head2 Changes in DBD::ODBC 1.34_6 February 27 2012

   [BUG FIXES]

   * Fixed some compiler warnings and a compile error highlighed by a
     smoker using MS Visual C where some code come before a variable
     definition.

=head2 Changes in DBD::ODBC 1.34_5 February 17 2012

   [BUG FIXES]

   * The 40UnicodeRoundTrip tests counts could be 1 off in some cases.

   * Fix for t/03batt.t which could fail a test if the data source had
     no table - Kenichi Ishigaki

   * If a driver misbehaves during global destruction e.g. SQLFreeStmt
     fails but no error is available DBD::ODBC issues an error saying
     an error occurred but no error diagnostics could be found. This is
     pointless and irritating during global destruction. This stems
     from a change in 1.28. Thanks to Peter Rabbitson for reporting
     and suggested fix.

   [CHANGE IN BEHAVIOUR]

   * Prior to this release if you called selectall_* methods with a
     non-select statement DBD::ODBC would raise an error saying "no
     select statement currently executing".  See RT 68720. After
     discussions on dbi-dev the concensus seems to be that issuing a
     warning in this case is better so that is what I've done. As a
     result t/rt_68720.t has been removed and
     t/85_selectall_non_select.t has been added.

   [DOCUMENTATION]

   * odbc_getdiagfield was incorrectly named odbc_getdiagrec in the pod

   * add DBI version required for StrictlyTyped and DiscardString to
     pod

   * Added new FAQ on why a transaction may be committed when
     AutoCommit is turned off.

   [OTHER]

   * Make examples\odbc_diag.pl more tolerant of drivers which do not
     handle diagnostic calls properly.

   * Make t/40UnicodeRoundTrip.t work with SQLite - Kenichi Ishigaki

   * Make t/odbc_describe_parameter.t work with SQLite - Kenichi
     Ishigaki

   * Add 80_odbc_diags.t based on the same file in examples

=head2 Changes in DBD::ODBC 1.34_4 February 5 2012

   [BUG FIXES]

   * When odbc_getdiag* methods were added they installed themselves
     into DBI but did not set IMP_KEEP_ERR so calling them cleared
     DBI's errors.

=head2 Changes in DBD::ODBC 1.34_3 February 3 2012

   [BUG FIXES]

   * Linking against unixODBC was working by accident on most UNIX
     machines and depended on the order of the files in /usr/lib (or
     wherever) and what files there were (e.g. an archive or a shared
     object). Same applied to iODBC but it was more broken especially
     on machines where libiodbc.so.N.N existed but there was no
     libiodbc.so which could lead to no adding the shared object at
     all. I doubt anyone really noticed this but I did eventually on
     Ubuntu where libiodbc.so.N.N existed but libiodbc.so did not.

   [ENHANCEMENTS]

   * Added experimental odbc_getdiagrec and odbc_getdiagrec methods,
     examples/odbc_diag.pl and examples/params_in_error.pl.

   [DOCUMENTATION]

   * New FAQ entries.

=head2 Changes in DBD::ODBC 1.34_2 January 25 2012

   [BUG FIXES]

   * Fixed rt73734 - debian moved where unixODBC libs are stored.

   * Fixed memory leak of the parameter status array introduced in
     previous release when execute_for_fetch used. When the statement
     handle is destroyed the parameter status array was not freed.

   [ENHANCEMENTS]

   * Added environment variable PERL_DBD_ODBC_PREFER_UNIXODBC as a
     synonym for -x from Rafael Kitover (Caelum).

   [DOCUMENTATION]

   * Add a deviation from DBI spec for type_info_all.

   [OTHER]

   * Added example execute_for_fetch.pl

=head2 Changes in DBD::ODBC 1.34_1 December 11 2011

   [ENHANCEMENTS]

   * Added experimental execute_for_fetch support and associated
     attributes odbc_batch_size and odbc_disable_array_operations.

Martin



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About