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

Reply via email to