pkgsrc changes:
- remove patch to detect iODBC correctly after is was applied upstream
Upstream changes:
Changes in DBD::ODBC 1.23 September 11, 2009
- Only a readme change and version bumped to 1.23. This is a full release
of all the 1.22_x development releases.
Changes in DBD::ODBC 1.22_3 August 19, 2009
- Fix skip count in rt_38977.t and typo in ok call.
- Workaround a bug in unixODBC 2.2.11 which can write off the end of the
string buffer passed to SQLColAttributes.
- Fix skip count in rt_null_nvarchar.t test for non SQL Server drivers.
- Fix test in 02simple.t which reported a fail if you have no ODBC
datasources.
- In 99_yaml.t pick up the yaml spec version from the meta file instead
of specifying it.
- Change calls to SQLPrepare which passed in the string lenth of the SQL to
use SQL_NTS because a) they are null terminated and more importantly b)
unixODBC contains a bug in versions up to 2.2.16 which can overwrite the
stack by 1 byte if the string length is specified and not built with iconv
support and converting the SQL from ASCII to Unicode.
- Fixed bug in ping method reported by Lee Anne Lester where it dies if used
after the connection is closed.
- A great deal of changes to Makefile.PL to improve the automatic detection
and configuration for ODBC driver managers - especially on 64bit platforms.
See rt47650 from Marten Lehmann which started it all off.
- Add changes from Chris Clark for detecting IngresCLI.
- Fix for rt 48304. If you are using a Microsoft SQL Server database and
nvarchar(max) you could not insert values between 4001 and 8000 (inclusive)
in size. A test was added to the existing rt_38977.t test. Thanks to
Michael Thomas for spotting this.
- Added FAQ on UTF-8 encoding and IBM iSeries ODBC driver.
- Add support for not passing usernames and passwords in call to connect.
Previously DBD::ODBC would set an unspecified username/password to '' in
ODBC.pm before calling one of the login_xxx functions. This allows the
driver to pull the username/password from elsewhere e.g., like the
odbc.ini file.
Changes in DBD::ODBC 1.22_1 June 16, 2009
- Applied a slightly modified version of patch from Jens Rehsack to improve
support for finding the iODBC driver manager.
- A UNICODE enabled DBD::ODBC (the default on Windows) did not handle
UNICODE usernames and passwords in the connect call properly.
- Updated "Attribution" in ODBC.pm.
- Unicode support is no longer experimental hence warning and prompt removed
from the Makefile.PL.
- old_ping method removed.
- Fixed bug in 02simple.t test which is supposed to check you have at least
one data source defined. Unfortunately, it was checking you had more than
1 data source defined.
- rt_null_varchar had wrong skip count meaning non-sql-server drivers or
sql server drivers too old skipped 2 tests more than were planned.
- Updating package of p5 module DBD::ODBC from 1.21 to 1.22
- Adjusting LICENSE to ${PERL5_LICENSE} according to META.yaml
Upstream changes:
* Changes in DBD::ODBC 1.22 June 10, 2009
Fixed bug which led to "Use of uninitialized value in subroutine
entry" warnings when writing a NULL into a NVARCHAR with a
unicode-enabled DBD::ODBC. Thanks to Jirka Novak and Pavel Richter who
found, reported and patched a fix.
Fixed serious bug in unicode_helper.c for utf16_len which I'm ashamed to
say was using an unsigned short to return the length. This meant you
could never have UTF16 strings of more than ~64K without risking serious
problems. The DBD::ODBC test code actually got a
*** glibc detected *** /usr/bin/perl: double free or corruption
(out): 0x406dd008 ***
If you use a UNICODE enabled DBD::ODBC (the default on Windows) and
unicode strings larger than 64K you should definitely upgrade now.
* Changes in DBD::ODBC 1.21_1 June 2, 2009
Fixed bug referred to in rt 46597 reported by taioba and identified by
Tim Bunce. In Calls to bind_param for a given statement handle if you
specify a SQL type to bind as, this should be "sticky" for that
parameter. That means if you do:
$sth->bind_param(1, $param, DBI::SQL_LONGVARCHAR)
and follow it up with execute calls that also specify the parameter:
$sth->execute("a param");
then the parameter should stick with the SQL_LONGVARCHAR type and not
revert to the default parameter type. The DBI docs (from 1.609)
make it clear the parameter type is sticky for the duration of the
statement but some DBDs allow the parameter to be rebound with a
different type - DBD::ODBC is one of those drivers.