DBI
view release on metacpan or search on metacpan
is ~20% faster, and fetchall_arrayref for 20000 rows is twice as fast!
Drivers just need to be recompiled and reinstalled to enable it.
The fetchall_arrayref speed up only applies if $slice parameter is not used.
Added $max_rows parameter to fetchall_arrayref() to optionally limit
the number of rows returned. Can now fetch batches of rows.
Added MaxRows attribute to selectall_arrayref()
which then passes it to fetchall_arrayref().
Changed selectrow_array to make use of selectrow_arrayref.
Trace level 1 now shows first two parameters of all methods
(used to only for that for some, like prepare,execute,do etc)
Trace indicator for recursive calls (first char on trace lines)
now starts at 1 not 2.
Documented that $h->func() does not trigger RaiseError etc
so applications must explicitly check for errors.
DBI::Profile with DBI_PROFILE now shows percentage time inside DBI.
HandleError docs updated to show that handler can edit error message.
HandleError subroutine interface is now regarded as stable.
1.25 - 2002-06-05, Tim Bunce
Fixed build problem on Windows and some compiler warnings.
Fixed $dbh->{Driver} and $sth->{Statement} for driver internals
These are 'inner' handles as per behaviour prior to DBI 1.16.
Further minor improvements to DBI::PurePerl accuracy.
1.24 - 2002-06-04, Tim Bunce
Fixed reference loop causing a handle/memory leak
that was introduced in DBI 1.16.
Fixed DBI::Format to work with 'filehandles' from IO::Scalar
and similar modules thanks to report by Jeff Boes.
Fixed $h->func for DBI::PurePerl thanks to Jeff Zucker.
Fixed $dbh->{Name} for DBI::PurePerl thanks to Dean Arnold.
Added DBI method call profiling and benchmarking.
This is a major new addition to the DBI.
See $h->{Profile} attribute and DBI::Profile module.
For a quick trial, set the DBI_PROFILE environment variable and
run your favourite DBI script. Try it with DBI_PROFILE set to 1,
then try 2, 4, 8, 10, and -10. Have fun!
Added execute_array() and bind_param_array() documentation
with thanks to Dean Arnold.
Added notes about the DBI having not yet been tested with iThreads
(testing and patches for SvLOCK etc welcome).
Removed undocumented Handlers attribute (replaced by HandleError).
Tested with 5.5.3 and 5.8.0 RC1.
1.23 - 2002-05-25, Tim Bunce
Greatly improved DBI::PurePerl in performance and accuracy.
Added more detail to DBI::PurePerl docs about what's not supported.
Fixed undef warnings from t/15array.t and DBD::Sponge.
1.22 - 2002-05-22, Tim Bunce
Added execute_array() and bind_param_array() with special thanks
to Dean Arnold. Not yet documented. See t/15array.t for examples.
All drivers now automatically support these methods.
Added DBI::PurePerl, a transparent DBI emulation for pure-perl drivers
with special thanks to Jeff Zucker. Perldoc DBI::PurePerl for details.
Added DBI::Const::GetInfo* modules thanks to Steffen Goeldner.
Added write_getinfo_pm utility to DBI::DBD thanks to Steffen Goeldner.
Added $allow_active==2 mode for prepare_cached() thanks to Stephen Clouse.
Updated DBI::Format to Revision 11.4 thanks to Tom Lowery.
Use File::Spec in Makefile.PL (helps VMS etc) thanks to Craig Berry.
Extend $h->{Warn} to commit/rollback ineffective warning thanks to Jeff Baker.
Extended t/preparse.t and removed "use Devel::Peek" thanks to Scott Hildreth.
Only copy Changes to blib/lib/Changes.pm once thanks to Jonathan Leffler.
Updated internals for modern perls thanks to Jonathan Leffler and Jeff Urlwin.
Tested with perl 5.7.3 (just using default perl config).
Documentation changes:
Added 'Catalog Methods' section to docs thanks to Steffen Goeldner.
Updated README thanks to Michael Schwern.
Clarified that driver may choose not to start new transaction until
next use of $dbh after commit/rollback.
Clarified docs for finish method.
Clarified potentials problems with prepare_cached() thanks to Stephen Clouse.
1.21 - 2002-02-07, Tim Bunce
The minimum supported perl version is now 5.005_03.
Fixed DBD::Proxy support for AutoCommit thanks to Jochen Wiedmann.
Fixed DBI::ProxyServer bind_param(_inout) handing thanks to Oleg Mechtcheriakov.
Fixed DBI::ProxyServer fetch loop thanks to nobull@mail.com.
Fixed install_driver do-the-right-thing with $@ on error. It, and connect(),
will leave $@ empty on success and holding the error message on error.
Thanks to Jay Lawrence, Gavin Sherlock and others for the bug report.
Fixed fetchrow_hashref to assign columns to the hash left-to-right
so later fields with the same name overwrite earlier ones
as per DBI < 1.15, thanks to Kay Roepke.
Changed tables() to use quote_indentifier() if the driver returns a
true value for $dbh->get_info(29) # SQL_IDENTIFIER_QUOTE_CHAR
Changed ping() so it no longer triggers RaiseError/PrintError.
Changed connect() to not call $class->install_driver unless needed.
Changed DESTROY to catch fatal exceptions and append to $@.
Added ISO SQL/CLI & ODBCv3 data type definitions thanks to Steffen Goeldner.
Removed the definition of SQL_BIGINT data type constant as the value is
inconsistent between standards (ODBC=-5, SQL/CLI=25).
Added $dbh->column_info(...) thanks to Steffen Goeldner.
Added $dbh->foreign_key_info(...) thanks to Steffen Goeldner.
Added $dbh->quote_identifier(...) insipred by Simon Oliver.
Added $dbh->set_err(...) for DBD authors and DBI subclasses
(actually been there for a while, now expanded and documented).
Added $h->{HandleError} = sub { ... } addition and/or alternative
to RaiseError/PrintError. See the docs for more info.
Added $h->{TraceLevel} = N attribute to set/get trace level of handle
thus can set trace level via an (eg externally specified) DSN
using the embedded attribute syntax:
$dsn = 'dbi:DB2(PrintError=1,TraceLevel=2):dbname';
Plus, you can also now do: local($h->{TraceLevel}) = N;
(but that leaks a little memory in some versions of perl).
Added some call tree information to trace output if trace level >= 3
( run in 2.676 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )