FAQ

New 1.29 release of DBD::ODBC

Martin J. Evans
Mar 8, 2011 at 11:10 am
I've just uploaded DBD::ODBC 1.29 to CPAN. This is the official release of the 5 development 1.28 releases and contains a large number of changes. Many thanks to everyone who has reported issues, tested and helped with this release.

If you report an issue in DBD::ODBC 1.29 (or later when it happens) please now include a DBD::ODBC trace by setting DBI_TRACE=DBD=x.log and exporting it. This will include all DBD::ODBC tracing but omit DBI tracing.

Here are the changes since 1.27:

=head2 Changes in DBD::ODBC 1.29 March 8, 2011

* An official release of the 1.28 development releases.

[NOTE]

* The 1.28 development releases made a change which causes a generic
error to be reported when an ODBC call fails but an error message
is not retrieved from the ODBC Driver. It appears this has caught
out a few ODBC drivers - notably freeTDS and Firebird. You now may
see errors that were missed before e.g., DBIx::Class's tests for
Firebird now errors test 21 "outer txn rolled back" (and others)
because SQLRowCount returns an error after "ROLLBACK TO SAVEPOINT
savepoint_0"; before this error was missed.

=head2 Changes in DBD::ODBC 1.28_5 March 6, 2011

[BUG FIXES]

* rt_59621.t had wrong skip count

* Fixed missing SQL_MAX_TABLE_NAME_LEN definition from test.

* Fixed problem with some drivers which batch "insert;select" where
SQLMoreResults is not required and an extra describe is done.

* Fixed "select 1" in 02simple.t for Firebird ODBC Driver.

* disconnect call added to 70execute_array.t was in the wrong place.

* In non-unicode mode we bind strings as SQL_CHAR but the driver may
have described them as SQL_WCHAR and we were not doing ChopBlanks
processing in that case.

[REQUIREMENTS]

* Now needs Test::Simple 0.90.

[OTHER]

* Added dml_counts.pl example

* worked around a problem in freeTDS in the 20SqlServer.t test
provided by Ralph Doncaster.

* Changed test rt_62033.t to try and make it work with freeTDS - I
failed. It now skips attempts to fetch when the insert fails.

* Worked around problem in Firebird ODBC driver which reports
timestamps have a display size of 24 characters but then can
return 29 which could lead to data truncation errors.
See http://tracker.firebirdsql.org/browse/ODBC-112

* Worked around problem in Firebird ODBC driver which reports
VARCHARs have a maximum length of 32765 but in fact it is 4000.
See http://tracker.firebirdsql.org/browse/ODBC-111

* Improvements in tracing to take account of DBI's neatsvpv lops 5
characters off maxsize on a string.

=head2 Changes in DBD::ODBC 1.28_4 February 24, 2011

[BUG FIXES]

* Fixed compilation problems with DBIf_TRACE_TXN

* Added missing disconnect call to 70execute_array.t

=head2 Changes in DBD::ODBC 1.28_3 February 22, 2011

[BUG FIXES]

* Fixed MANIFEST in 1.28_2 which named 2 files incorrectly.

* Fixed use of PREREQ_PRINT in versions of ExtUtils::MakeMaker which
don't support it.

* Fixed a check on LD_LIBRARY_PATH for unixODBC which could report
you've not set LD_LIBRARY_PATH correctly.

[ENHANCEMENTS]

* Added Perl and ExtUtils::MakeMaker version output to build process.

* Added support for DBI's new trace flags ENC, CON, TXN and
DBD. From DBI 1.617 you should be able to use: DBI_TRACE=DBD to
ONLY get DBD::ODBC tracing without DBI tracing ENC and CON DBI
flags are synonymous with DBD::ODBC's odbcconnection and
odbcunicode trace flags which you can still use for now.

[OTHER]

* From now on I'm changing the way the Changes file is written as
per article at
http://blog.urth.org/2011/01/changes-file-how-and-how-not-to.html

* Some broken drivers (freeTDS in this case) can return SQL_ERROR
from an ODBC API function and then SQLError does not return
error details. In this case set a generic error saying an error
occurred but we could not retrieve it.

* Added FAQ entry on MS Access and text columns limited to 255 chrs.

* Added 70execute_array.t test.

=head2 Changes in DBD::ODBC 1.28_2 January 24, 2011

Added -x argument to Makefile.PL saying you prefer unixODBC over
iODBC driver managers as a) we need to look for iODBC first on some
platforms to detect iODBC and b) some platforms (Debian/Ubuntu)
people have both binary packages installed but only unixODBC dev
package.

Patch from Rafael Kitover (Caelum) for better Cygwin handling.

Minor change to data sources test to cope with someone having no
data sources and using a DSN-less connection for testing.

Fixed MARS test when a DSN-less connection used for testing - thanks
to Rafael Kitover (Caelum) for spotting this.

pod patch for "CPAN Testers Reporting" to point at cpan testers wiki
from Rafael Kitover (Caelum).

Fixed some broken links in the FAQ.

Add a multiple active statement document link to random links and
the FAQ entry.

A call to SQLNumResultCols was not checked to test it succeeded.
Not seen anyone run into this as yet.

=head2 Changes in DBD::ODBC 1.28_1 December 29, 2010

Rewrote documentation on odbc_SQL_ROWSET_SIZE and added loads of
notes so I don't have to go through a huge irc conversation with
ribasushi again.

Workaround bug in DBI (prior to 1.616) which mistakenly issues a
FETCH on any attribute passed to the connect method and sometimes
driver managers error on SQL_ROWSET_SIZE in SQLGetConnectAttr.

ChopBlanks was not working on UCS-2 encoded data written into bound
columns and was also sometimes reading off the end of the bound
array.

Minor FAQ changes:
Added an additional way to read MS Access dbs from Unix
Clarified versions for MARS_Connection
updates to cancel_big_fetch.pl

Updated TO_DO with more stuff to do

Improved tracing output

Tidied up some of the examples

Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
reply

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 1 | next ›

1 user in discussion

Martin J. Evans: 1 post