DBI

 view release on metacpan or  search on metacpan

lib/DBI/Changes.pm  view on Meta::CPAN


    Fix test t/91_store_warning.t for perl 5.10.0
        thanks to pali #57

    Add Perl 5.10.0 and 5.8.1 specific versions to Travis testing
        thanks to pali #57
    Add registration of mariadb_ prefix for new DBD::MariaDB driver
        thanks to pali #56

=head2 Changes in DBI 1.639 - 28 Dec 2017

    Fix UTF-8 support for warn/croak calls within DBI internals,
        thanks to pali #53
    Fix dependency on Storable for perl older than 5.8.9,
        thanks to H.Merijn Brand.

    Add DBD::Mem driver, a pure-perl in-memory driver using DBI::DBD::SqlEngine,
        thanks to Jens Rehsack #42

    Corrected missing semicolon in example in documentation,
        thanks to pali #55

=head2 Changes in DBI 1.637 - 16 Aug 2017

    Fix use of externally controlled format string (CWE-134) thanks to pali #44
        This could cause a crash if, for example, a db error contained a %.
        https://cwe.mitre.org/data/definitions/134.html
    Fix extension detection for DBD::File related drivers
    Fix tests for perl without dot in @INC RT#120443
    Fix loss of error message on parent handle, thanks to charsbar #34
    Fix disappearing $_ inside callbacks, thanks to robschaber #47
    Fix dependency on Storable for perl older than 5.8.9

    Allow objects to be used as passwords without throwing an error, thanks to demerphq #40
    Allow $sth NAME_* attributes to be set from Perl code, re #45
    Added support for DBD::XMLSimple thanks to nigelhorne #38

    Documentation updates:
    Improve examples using eval to be more correct, thanks to pali #39
    Add cautionary note to prepare_cached docs re refs in %attr #46
    Small POD changes (Getting Help -> Online) thanks to openstrike #33
    Adds links to more module names and fix typo, thanks to oalders #43
    Typo fix thanks to bor #37

=head2 Changes in DBI 1.636 - 24 Apr 2016

    Fix compilation for threaded perl <= 5.12 broken in 1.635 RT#113955
    Revert change to DBI::PurePerl DESTROY in 1.635
    Change t/16destroy.t to avoid race hazard RT#113951
    Output perl version and archname in t/01basics.t
    Add perl 5.22 and 5.22-extras to travis-ci config

=head2 Changes in DBI 1.635 - 24 Apr 2016

    Fixed RaiseError/PrintError for UTF-8 errors/warnings. RT#102404
    Fixed cases where ShowErrorStatement might show incorrect Statement RT#97434
    Fixed DBD::Gofer for UTF-8-enabled STDIN/STDOUT
        thanks to mauke PR#32
    Fixed fetchall_arrayref({}) behavior with no columns
        thanks to Dan McGee PR#31
    Fixed tied CachedKids ref leak in attribute cache by weakening
        thanks to Michael Conrad RT#113852
    Fixed "panic: attempt to copy freed scalar" upon commit() or rollback()
        thanks to fbriere for detailed bug report RT#102791
    Ceased to ignore DESTROY of outer handle in DBI::PurePerl
    Treat undef in DBI::Profile Path as string "undef"
        thanks to fREW Schmidt RT#113298
    Fix SQL::Nano parser to ignore trailing semicolon
        thanks to H.Merijn Brand.

    Added @ary = $dbh->selectall_array(...) method
        thanks to Ed Avis RT#106411
    Added appveyor support (Travis like CI for windows)
        thanks to mbeijen PR#30

    Corrected spelling errors in pod
        thanks to Gregor Herrmann RT#107838
    Corrected and/or removed broken links to SQL standards
        thanks to David Pottage RT#111437
    Corrected doc example to use dbi: instead of DBI: in DSN
        thanks to Michael R. Davis RT#101181
    Removed/updated broken links in docs
        thanks to mbeijen PR#29
    Clarified docs for DBI::hash($string)
    Removed the ancient DBI::FAQ module RT#102714
    Fixed t/pod.t to require Test::Pod >= 1.41 RT#101769

This release was developed at the Perl QA Hackathon 2016
L<http://act.qa-hackathon.org/qa2016/>
which was made possible by the generosity of many sponsors:

L<https://www.fastmail.com> FastMail,
L<https://www.ziprecruiter.com> ZipRecruiter,
L<http://www.activestate.com> ActiveState,
L<http://www.opusvl.com> OpusVL,
L<https://www.strato.com> Strato,
L<http://www.surevoip.co.uk> SureVoIP,
L<http://www.cv-library.co.uk> CV-Library,
L<https://www.iinteractive.com/> Infinity,
L<https://opensource.careers/perl-careers/> Perl Careers,
L<https://www.mongodb.com> MongoDB,
L<https://www.thinkproject.com> thinkproject!,
L<https://www.dreamhost.com/> Dreamhost,
L<http://www.perl6.org/> Perl 6,
L<http://www.perl-services.de/> Perl Services,
L<https://www.evozon.com/> Evozon,
L<http://www.booking.com> Booking,
L<http://eligo.co.uk> Eligo,
L<http://www.oetiker.ch/> Oetiker+Partner,
L<http://capside.com/en/> CAPSiDE,
L<https://www.procura.nl/> Procura,
L<https://constructor.io/> Constructor.io,
L<https://metacpan.org/author/BABF> Robbie Bow,
L<https://metacpan.org/author/RSAVAGE> Ron Savage,
L<https://metacpan.org/author/ITCHARLIE> Charlie Gonzalez,
L<https://twitter.com/jscook2345> Justin Cook.

=head2 Changes in DBI 1.634 - 03 Aug 2015

    Enabled strictures on all modules (Jose Luis Perez Diez) #22
        Note that this might cause new exceptions in existing code.

lib/DBI/Changes.pm  view on Meta::CPAN


=head2 Changes in DBI 1.604 (svn rev 10994) - 24 Mar 2008

  Fixed fetchall_arrayref with $max_rows argument broken in 1.603,
    thanks to Greg Sabino Mullane.
  Fixed a few harmless compiler warnings on cygwin.

=head2 Changes in DBI 1.603 - 22 Mar 2008

  Fixed pure-perl fetchall_arrayref with $max_rows argument
    to not error when fetching after all rows already fetched.
    (Was fixed for compiled drivers back in DBI 1.31.)
    Thanks to Mark Overmeer.
  Fixed C sprintf formats and casts, fixing compiler warnings.

  Changed dbi_profile() to accept a hash of profiles and apply to all.
  Changed gofer stream transport to improve error reporting.
  Changed gofer test timeout to avoid spurious failures on slow systems.

  Added options to t/85gofer.t so it's more useful for manual testing.

=head2 Changes in DBI 1.602 (svn rev 10706) - 08 Feb 2008

  Fixed potential coredump if stack reallocated while calling back
    into perl from XS code. Thanks to John Gardiner Myers.
  Fixed DBI::Util::CacheMemory->new to not clear the cache.
  Fixed avg in DBI::Profile as_text() thanks to Abe Ingersoll.
  Fixed DBD::DBM bug in push_names thanks to J M Davitt.
  Fixed take_imp_data for some platforms thanks to Jeffrey Klein.
  Fixed docs tie'ing CacheKids (ie LRU cache) thanks to Peter John Edwards.

  Expanded DBI::DBD docs for driver authors thanks to Martin Evans.
  Enhanced t/80proxy.t test script.
  Enhanced t/85gofer.t test script thanks to Stig.
  Enhanced t/10examp.t test script thanks to David Cantrell.
  Documented $DBI::stderr as the default value of err for internal errors.

  Gofer changes:
    track_recent now also keeps track of N most recent errors.
    The connect method is now also counted in stats.

=head2 Changes in DBI 1.601 (svn rev 10103) - 21 Oct 2007

  Fixed t/05thrclone.t to work with Test::More >= 0.71
    thanks to Jerry D. Hedden and Michael G Schwern.
  Fixed DBI for VMS thanks to Peter (Stig) Edwards.

  Added client-side caching to DBD::Gofer. Can use any cache with
    get($k)/set($k,$v) methods, including all the Cache and Cache::Cache
    distribution modules plus Cache::Memcached, Cache::FastMmap etc.
    Works for all transports. Overridable per handle.

  Added DBI::Util::CacheMemory for use with DBD::Gofer caching.
    It's a very fast and small strict subset of Cache::Memory.

=head2 Changes in DBI 1.59 (svn rev 9874) - 23 Aug 2007

  Fixed DBI::ProfileData to unescape headers lines read from data file.
  Fixed DBI::ProfileData to not clobber $_, thanks to Alexey Tourbin.
  Fixed DBI::SQL::Nano to not clobber $_, thanks to Alexey Tourbin.
  Fixed DBI::PurePerl to return undef for ChildHandles if weaken not available.
  Fixed DBD::Proxy disconnect error thanks to Philip Dye.
  Fixed DBD::Gofer::Transport::Base bug (typo) in timeout code.
  Fixed DBD::Proxy rows method thanks to Philip Dye.
  Fixed dbiprof compile errors, thanks to Alexey Tourbin.
  Fixed t/03handle.t to skip some tests if ChildHandles not available.

  Added check_response_sub to DBI::Gofer::Execute

=head2 Changes in DBI 1.58 (svn rev 9678) - 25 Jun 2007

  Fixed code triggering fatal error in bleadperl, thanks to Steve Hay.
  Fixed compiler warning thanks to Jerry D. Hedden.
  Fixed t/40profile.t to use int(dbi_time()) for systems like Cygwin where
    time() seems to be rounded not truncated from the high resolution time.
  Removed dump_results() test from t/80proxy.t.

=head2 Changes in DBI 1.57 (svn rev 9639) - 13 Jun 2007

  Note: this release includes a change to the DBI::hash() function which will
  now produce different values than before *if* your perl was built with 64-bit
  'int' type (i.e. "perl -V:intsize" says intsize='8').  It's relatively rare
  for perl to be configured that way, even on 64-bit systems.

  Fixed XS versions of select*_*() methods to call execute()
    fetch() etc., with inner handle instead of outer.
  Fixed execute_for_fetch() to not cache errstr values
    thanks to Bart Degryse.
  Fixed unused var compiler warning thanks to JDHEDDEN.
  Fixed t/86gofer_fail tests to be less likely to fail falsely.

  Changed DBI::hash to return 'I32' type instead of 'int' so results are
    portable/consistent regardless of size of the int type.
  Corrected timeout example in docs thanks to Egmont Koblinger.
  Changed t/01basic.t to warn instead of failing when it detects
    a problem with Math::BigInt (some recent versions had problems).

  Added support for !Time and !Time~N to DBI::Profile Path. See docs.
  Added extra trace info to connect_cached thanks to Walery Studennikov.
  Added non-random (deterministic) mode to DBI_GOFER_RANDOM mechanism.
  Added DBIXS_REVISION macro that drivers can use.
  Added more docs for private_attribute_info() method.

  DBI::Profile changes:
    dbi_profile() now returns ref to relevant leaf node.
    Don't profile DESTROY during global destruction.
    Added as_node_path_list() and as_text() methods.
  DBI::ProfileDumper changes:
    Don't write file if there's no profile data.
    Uses full natural precision when saving data (was using %.6f)
    Optimized flush_to_disk().
    Locks the data file while writing.
    Enabled filename to be a code ref for dynamic names.
  DBI::ProfileDumper::Apache changes:
    Added Quiet=>1 to avoid write to STDERR in flush_to_disk().
    Added Dir=>... to specify a writable destination directory.
    Enabled DBI_PROFILE_APACHE_LOG_DIR for mod_perl 1 as well as 2.
    Added parent pid to default data file name.
  DBI::ProfileData changes:
    Added DeleteFiles option to rename & delete files once read.
    Locks the data files while reading.

lib/DBI/Changes.pm  view on Meta::CPAN

    Added policy-controlled caching of results for some methods, such as schema metadata.
    The connect_cached and prepare_cached methods cache on client and server.
    The bind_param_array and execute_array methods are now supported.
    Worked around a DBD::Sybase bind_param bug (which is fixed in DBD::Sybase 1.07)
    Added goferperf.pl utility (doesn't get installed).
    Many other assorted Gofer related bug fixes, enhancements and docs.
    The http and mod_perl transports have been remove to their own distribution.
    Client and server will need upgrading together for this release.

=head2 Changes in DBI 1.54 (svn rev 9157) - 23 Feb 2007

  NOTE: This release includes the 'next big thing': DBD::Gofer.
  Take a look!

  WARNING: This version has some subtle changes in DBI internals.
  It's possible, though doubtful, that some may affect your code.
  I recommend some extra testing before using this release.
  Or perhaps I'm just being over cautious...

  Fixed type_info when called for multiple dbh thanks to Cosimo Streppone.
  Fixed compile warnings in bleadperl on freebsd-6.1-release
    and solaris 10g thanks to Philip M. Gollucci.
  Fixed to compile for perl built with -DNO_MATHOMS thanks to Jerry D. Hedden.
  Fixed to work for bleadperl (r29544) thanks to Nicholas Clark.
    Users of Perl >= 5.9.5 will require DBI >= 1.54.
  Fixed rare error when profiling access to $DBI::err etc tied variables.
  Fixed DBI::ProfileDumper to not be affected by changes to $/ and $,
    thanks to Michael Schwern.

  Changed t/40profile.t to skip tests for perl < 5.8.0.
  Changed setting trace file to no longer write "Trace file set" to new file.
  Changed 'handle cleared whilst still active' warning for dbh
    to only be given for dbh that have active sth or are not AutoCommit.
  Changed take_imp_data to call finish on all Active child sth.
  Changed DBI::PurePerl trace() method to be more consistent.
  Changed set_err method to effectively not append to errstr if the new errstr
    is the same as the current one.
  Changed handle factory methods, like connect, prepare, and table_info,
    to copy any error/warn/info state of the handle being returned
    up into the handle the method was called on.
  Changed row buffer handling to not alter NUM_OF_FIELDS if it's
    inconsistent with number of elements in row buffer array.
  Updated DBI::DBD docs re handling multiple result sets.
  Updated DBI::DBD docs for driver authors thanks to Ammon Riley
    and Dean Arnold.
  Updated column_info docs to note that if a table doesn't exist
    you get an sth for an empty result set and not an error.

  Added new DBD::Gofer 'stateless proxy' driver and framework,
    and the DBI test suite is now also executed via DBD::Gofer,
    and DBD::Gofer+DBI::PurePerl, in addition to DBI::PurePerl.
  Added ability for trace() to support filehandle argument,
    including tracing into a string, thanks to Dean Arnold.
  Added ability for drivers to implement func() method
    so proxy drivers can proxy the func method itself.
  Added SQL_BIGINT type code (resolved to the ODBC/JDBC value (-5))
  Added $h->private_attribute_info method.

=head2 Changes in DBI 1.53 (svn rev 7995) - 31 Oct 2006

  Fixed checks for weaken to work with early 5.8.x versions
  Fixed DBD::Proxy handling of some methods, including commit and rollback.
  Fixed t/40profile.t to be more insensitive to long double precision.
  Fixed t/40profile.t to be insensitive to small negative shifts in time
    thanks to Jamie McCarthy.
  Fixed t/40profile.t to skip tests for perl < 5.8.0.
  Fixed to work with current 'bleadperl' (~5.9.5) thanks to Steve Peters.
    Users of Perl >= 5.9.5 will require DBI >= 1.53.
  Fixed to be more robust against drivers not handling multiple result
    sets properly, thanks to Gisle Aas.

  Added array context support to execute_array and execute_for_fetch
    methods which returns executed tuples and rows affected.
  Added Tie::Cache::LRU example to docs thanks to Brandon Black.

=head2 Changes in DBI 1.52 (svn rev 6840) - 30 Jul 2006

  Fixed memory leak (per handle) thanks to Nicholas Clark and Ephraim Dan.
  Fixed memory leak (16 bytes per sth) thanks to Doru Theodor Petrescu.
  Fixed execute_for_fetch/execute_array to RaiseError thanks to Martin J. Evans.
  Fixed for perl 5.9.4. Users of Perl >= 5.9.4 will require DBI >= 1.52.

  Updated DBD::File to 0.35 to match the latest release on CPAN.

  Added $dbh->statistics_info specification thanks to Brandon Black.

  Many changes and additions to profiling:
    Profile Path can now uses sane strings instead of obscure numbers,
    can refer to attributes, assorted magical values, and even code refs!
    Parsing of non-numeric DBI_PROFILE env var values has changed.
    Changed DBI::Profile docs extensively - many new features.
    See DBI::Profile docs for more information.

=head2 Changes in DBI 1.51 (svn rev 6475) - 06 Jun 2006

  Fixed $dbh->clone method 'signature' thanks to Jeffrey Klein.
  Fixed default ping() method to return false if !$dbh->{Active}.
  Fixed t/40profile.t to be insensitive to long double precision.
  Fixed for perl 5.8.0's more limited weaken() function.
  Fixed DBD::Proxy to not alter $@ in disconnect or AUTOLOADd methods.
  Fixed bind_columns() to use return set_err(...) instead of die()
    to report incorrect number of parameters, thanks to Ben Thul.
  Fixed bind_col() to ignore undef as bind location, thanks to David Wheeler.
  Fixed for perl 5.9.x for non-threaded builds thanks to Nicholas Clark.
    Users of Perl >= 5.9.x will require DBI >= 1.51.
  Fixed fetching of rows as hash refs to preserve utf8 on field names
    from $sth->{NAME} thanks to Alexey Gaidukov.
  Fixed build on Win32 (dbd_postamble) thanks to David Golden.

  Improved performance for thread-enabled perls thanks to Gisle Aas.
  Drivers can now use PERL_NO_GET_CONTEXT thanks to Gisle Aas.
    Driver authors please read the notes in the DBI::DBD docs.
  Changed DBI::Profile format to always include a percentage,
    if not exiting then uses time between the first and last DBI call.
  Changed DBI::ProfileData to be more forgiving of systems with
    unstable clocks (where time may go backwards occasionally).
  Clarified the 'Subclassing the DBI' docs.
  Assorted minor changes to docs from comments on annocpan.org.
  Changed Makefile.PL to avoid incompatible options for old gcc.

  Added 'fetch array of hash refs' example to selectall_arrayref
    docs thanks to Tom Schindl.
  Added docs for $sth->{ParamArrays} thanks to Martin J. Evans.
  Added reference to $DBI::neat_maxlen in TRACING section of docs.
  Added ability for DBI::Profile Path to include attributes
    and a summary of where the code was called from.

=head2 Changes in DBI 1.50 (svn rev 2307) - 13 Dec 2005

  Fixed Makefile.PL options for gcc bug introduced in 1.49.
  Fixed handle magic order to keep DBD::Oracle happy.
  Fixed selectrow_array to return empty list on error.

  Changed dbi_profile_merge() to be able to recurse and merge
    sub-trees of profile data.

  Added documentation for dbi_profile_merge(), including how to
    measure the time spent inside the DBI for an http request.

=head2 Changes in DBI 1.49 (svn rev 2287) - 29 Nov 2005

  Fixed assorted attribute handling bugs in DBD::Proxy.
  Fixed croak() in DBD::NullP thanks to Sergey Skvortsov.
  Fixed handling of take_imp_data() and dbi_imp_data attribute.
  Fixed bugs in DBD::DBM thanks to Jeff Zucker.
  Fixed bug in DBI::ProfileDumper thanks to Sam Tregar.
  Fixed ping in DBD::Proxy thanks to George Campbell.
  Fixed dangling ref in $sth after parent $dbh destroyed
    with thanks to il@rol.ru for the bug report #13151
  Fixed prerequisites to include Storable thanks to Michael Schwern.
  Fixed take_imp_data to be more practical.

  Change to require perl 5.6.1 (as advertised in 2003) not 5.6.0.
  Changed internals to be more strictly coded thanks to Andy Lester.
  Changed warning about multiple copies of Driver.xst found in @INC
    to ignore duplicated directories thanks to Ed Avis.
  Changed Driver.xst to enable drivers to define an dbd_st_prepare_sv
    function where the statement parameter is an SV. That enables
    compiled drivers to support SQL strings that are UTF-8.



( run in 2.534 seconds using v1.01-cache-2.11-cpan-fe3c2283af0 )