Upstream changes:
Changes in DBI 1.634 - 3rd August 2015
Enabled strictures on all modules (Jose Luis Perez Diez) #22
Note that this might cause new exceptions in existing code.
Please take time for extra testing before deploying to production.
Improved handling of row counts for compiled drivers and enable them to
return larger row counts (IV type) by defining new *_iv macros.
Fixed quote_identifier that was adding a trailing separator when there
was only a catalog (Martin J. Evans)
Removed redundant keys() call in fetchall_arrayref with hash slice (ilmari) #24
Corrected pod xref to Placeholders section (Matthew D. Fuller)
Corrected pod grammar (Nick Tonkin) #25
Added support for tables('', '', '', '%') special case (Martin J. Evans)
Added support for DBD prefixes with numbers (Jens Rehsack) #19
Added extra initializer for DBI::DBD::SqlEngine based DBD's (Jens Rehsack)
Added Memory Leaks section to the DBI docs (Tim)
Added Artistic v1 & GPL v1 LICENSE file (Jose Luis Perez Diez) #21
Changes in DBI 1.631
NOTE: This release changes the handle passed to Callbacks from being an 'inner'
handle to being an 'outer' handle. If you have code that makes use of Callbacks,
ensure that you understand what this change means and review your callback code.
Fixed err_hash handling of integer err RT#92172 [Dagfinn Ilmari]
Fixed use of \Q vs \E in t/70callbacks.t
Changed the handle passed to Callbacks from being an 'inner'
handle to being an 'outer' handle.
Improved reliability of concurrent testing
PR#8 [Peter Rabbitson]
Changed optional dependencies to "suggest"
PR#9 [Karen Etheridge]
Changed to avoid mg_get in neatsvpv during global destruction
PR#10 [Matt Phillips]
pkgsrc changes:
- bumping required API version to 1.612 (Meta-DBD API has changed)
Upstream changes:
Changes in DBI 1.612 (svn r14254) 14th July 2010
NOTE: This is a minor release for the DBI core but a major release for
DBD::File and drivers that depend on it, like DBD::DBM and DBD::CSV.
This is also the first release where the bulk of the development work has
been done by other people. I'd like to thank (in no particular order)
Jens Rehsack, Martin J. Evans, and H.Merijn Brand for all their contributions.
Fixed DBD::File's {ChopBlank} handling (it stripped \s instead of space
only as documented in DBI) (H.Merijn Brand)
Fixed DBD::DBM breakage with SQL::Statement (Jens Rehsack, fixes RT#56561)
Fixed DBD::File file handle leak (Jens Rehsack)
Fixed problems in 50dbm.t when running tests with multiple
dbms (Martin J. Evans)
Fixed DBD::DBM bugs found during tests (Jens Rehsack)
Fixed DBD::File doesn't find files without extensions under some
circumstances (Jens Rehsack, H.Merijn Brand, fixes RT#59038)
Changed Makefile.PL to modernize with CONFLICTS, recommended dependencies
and resources (Jens Rehsack)
Changed DBI::ProfileDumper to rename any existing profile file by
appending .prev, instead of overwriting it.
Changed DBI::ProfileDumper::Apache to work in more configurations
including vhosts using PerlOptions +Parent.
Add driver_prefix method to DBI (Jens Rehsack)
Added more tests to 50dbm_simple.t to prove optimizations in
DBI::SQL::Nano and SQL::Statement (Jens Rehsack)
Updated tests to cover optional installed SQL::Statement (Jens Rehsack)
Synchronize API between SQL::Statement and DBI::SQL::Nano (Jens Rehsack)
Merged some optimizations from SQL::Statement into DBI::SQL::Nano
(Jens Rehsack)
Added basic test for DBD::File (H.Merijn Brand, Jens Rehsack)
Extract dealing with Perl SQL engines from DBD::File into
DBI::DBD::SqlEngine for better subclassing of 3rd party non-db DBDs
(Jens Rehsack)
Updated and clarified documentation for finish method (Tim Bunce).
Changes to DBD::File for better English and hopefully better
explanation (Martin J. Evans)
Update documentation of DBD::DBM to cover current implementation,
tried to explain some things better and changes most examples to
preferred style of Merijn and myself (Jens Rehsack)
Added developer documentation (including a roadmap of future plans)
for DBD::File
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
by moving the inclusion of buildlink3.mk files outside of the protected
region. This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.
BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list. This ordering property is used to check for builtin
packages in the correct order. The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end. However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
Perl >= 5.6.0 is required now, so update buildlink2.mk and buildlink3.mk.
Add missing build-time dependence on Test::More (ie, Test::Simple).
Changes since 1.37
==================
CHANGES in DBI 1.41 (svn rev 130), 22nd February 2004
Fixed execute_for_array() so tuple_status parameter is optional
as per docs, thanks to Ed Avis.
Fixed execute_for_array() docs to say that it returns undef if
any of the execute() calls fail.
Fixed take_imp_data() test on m68k reported by Christian Hammers.
Fixed write_typeinfo_pm inconsistencies in DBI::DBD::Metadata
thanks to Andy Hassall.
Fixed $h->{TraceLevel} to not return DBI->trace trace level
which it used to if DBI->trace trace level was higher.
Changed set_err() to append to errstr, with a leading "\n" if it's
not empty, so that multiple error/warning messages are recorded.
Changed trace to limit elements dumped when an array reference is
returned from a method to the max(40, $DBI::neat_maxlen/10)
so that fetchall_arrayref(), for example, doesn't flood the trace.
Changed trace level to be a four bit integer (levels 0 thru 15)
and a set of topic flags (no topics have been assigned yet).
Changed column_info() to check argument count.
Extended bind_param() TYPE attribute specification to imply
standard formating of value, eg SQL_DATE implies 'YYYY-MM-DD'.
Added way for drivers to indicate 'success with info' or 'warning'
by setting err to "0" for warning and "" for information.
Both values are false and so don't trigger RaiseError etc.
Warnings (err="0") are automatically printed if PrintError is set.
Thanks to Steffen Goeldner for the original idea.
Added $h->{HandleSetErr} = sub { ... } to be called at the
point that an error, warn, or info state is recorded.
The code can alter the err, errstr, and state values
(e.g., to promote an error to a warning, or the reverse).
Added $h->{PrintWarn} attribute to enable printing of warnings
recorded by the driver. Defaults to same value as $^W (perl -w).
Added $h->{ErrCount} attribute, incremented whenever an error is
recorded by the driver via set_err().
Added $h->{Executed} attribute, set if do()/execute() called.
Added \%attr parameter to foreign_key_info() method.
Added ref count of inner handle to "DESTROY ignored for outer" msg.
Added Win32 build config checks to DBI::DBD thanks to Andy Hassall.
Added bind_col to Driver.xst so drivers can define their own.
Added TYPE attribute to bind_col and specified the expected
driver behaviour.
Major update to signal handling docs thanks to Lincoln Baxter.
Corrected dbiproxy usage doc thanks to Christian Hammers.
Corrected type_info_all index hash docs thanks to Steffen Goeldner.
Corrected type_info COLUMN_SIZE to chars not bytes thanks to Dean Arnold.
Corrected get_info() docs to include details of DBI::Const::GetInfoType.
Clarified that $sth->{PRECISION} is OCTET_LENGTH for char types.
Changes in DBI 1.40, 7th January 2004
Fixed handling of CachedKids when DESTROYing threaded handles.
Fixed sql_user_name() in DBI::DBD::Metadata (used by write_getinfo_pm)
to use $dbh->{Username}. Driver authors please update your code.
Changed connect_cached() when running under Apache::DBI
to route calls to Apache::DBI::connect().
Added CLONE() to DBD::Sponge and DBD::ExampleP.
Added warning when starting a new thread about any loaded driver
which does not have a CLONE() function.
Added new prepare_cache($sql, \%attr, 3) option to manage Active handles.
Added SCALE and NULLABLE support to DBD::Sponge.
Added missing execute() in fetchall_hashref docs thanks to Iain Truskett.
Added a CONTRIBUTING section to the docs with notes on creating patches.
Changes in DBI 1.39, 27th November 2003
Fixed STORE to not clear error during nested DBI call, again/better,
thanks to Tony Bowden for the report and helpful test case.
Fixed DBI dispatch to not try to use AUTOLOAD for driver methods unless
the method has been declared (as methods should be when using AUTOLOAD).
This fixes a problem when the Attribute::Handlers module is loaded.
Fixed cwd check code to use $Config{path_sep} thanks to Steve Hay.
Fixed unqualified croak() calls thanks to Steffen Goeldner.
Fixed DBD::ExampleP TYPE and PRECISION attributes thanks to Tom Lowery.
Fixed tracing of methods that only get traced at high trace levels.
The level 1 trace no longer includes nested method calls so it generally
just shows the methods the application explicitly calls.
Added line to trace log (level>=4) when err/errstr is cleared.
Updated docs for InactiveDestroy and point out where and when the
trace includes the process id.
Update DBI::DBD docs thanks to Steffen Goeldner.
Removed docs saying that the DBI->data_sources method could be
passed a $dbh. The $dbh->data_sources method should be used instead.
Added link to 'DBI recipes' thanks to Giuseppe Maxia:
http://gmax.oltrelinux.com/dbirecipes.html (note that this
is not an endorsement that the recipies are 'optimal')
Note: There is a bug in perl 5.8.2 when configured with threads
and debugging enabled (bug #24463) which causes a DBI test to fail.
Changes in DBI 1.38, 21th August 2003
NOTE: The DBI now requires perl version 5.6.0 or later.
(As per notice in DBI 1.33 released 27th February 2003)
Fixed spurious t/03handles failure on 64bit perls reported by H.Merijn Brand.
Fixed spurious t/15array failure on some perl versions thanks to Ed Avis.
Fixed build using dmake on windows thanks to Steffen Goeldner.
Fixed build on using some shells thanks to Gurusamy Sarathy.
Fixed ParamValues to only be appended to ShowErrorStatement if not empty.
Fixed $dbh->{Statement} not being writable by drivers in some cases.
Fixed occasional undef warnings on connect failures thanks to Ed Avis.
Fixed small memory leak when using $sth->{NAME..._hash}.
Fixed 64bit warnings thanks to Marian Jancar.
Fixed DBD::Proxy::db::DESTROY to not alter $@ thanks to Keith Chapman.
Fixed Makefile.PL status from WriteMakefile() thanks to Leon Brocard.
Changed "Can't set ...->{Foo}: unrecognised attribute" from an error to a
warning when running with DBI::ProxyServer to simplify upgrades.
Changed execute_array() to no longer require ArrayTupleStatus attribute.
Changed DBI->available_drivers to not hide DBD::Sponge.
Updated/moved placeholder docs to a better place thanks to Johan Vromans.
Changed dbd_db_do4 api in Driver.xst to match dbd_st_execute (return int,
not bool), relevant only to driver authors.
Changed neat(), and thus trace(), so strings marked as utf8 are presented
in double quotes instead of single quotes and are not sanitized.
Added $dbh->data_sources method.
Added $dbh->last_insert_id method.
Added $sth->execute_for_fetch($fetch_tuple_sub, \@tuple_status) method.
Added DBI->installed_versions thanks to Jeff Zucker.
Added $DBI::Profile::ON_DESTROY_DUMP variable.
Added docs for DBD::Sponge thanks to Mark Stosberg.
the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives
a value only once due to the multiple inclusion protection in the
bulldlink3.mk files. In the case where a package includes several
buildlink3.mk files that each want a slightly different version of another
dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the
strictest <pkg> dependency to be matched.