Hello community, here is the log from the commit of package perl-DBI for openSUSE:Factory checked in at 2018-11-13 16:25:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-DBI (Old) and /work/SRC/openSUSE:Factory/.perl-DBI.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-DBI" Tue Nov 13 16:25:51 2018 rev:47 rq:647273 version:1.642 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-DBI/perl-DBI.changes 2018-03-24 16:07:57.915535112 +0100 +++ /work/SRC/openSUSE:Factory/.perl-DBI.new/perl-DBI.changes 2018-11-13 16:26:04.182625213 +0100 @@ -1,0 +2,24 @@ +Thu Nov 8 06:11:49 UTC 2018 - Stephan Kulow <[email protected]> + +- updated to 1.642 + see /usr/share/doc/packages/perl-DBI/Changes + + =head2 Changes in DBI 1.642 - 28th October 2018 + + Fix '.' in @INC for proxy test under parallel load + thanks to H.Merijn Brand. + Fix driver-related croak() in DBI->connect to report the original DSN + thanks to maxatome #67 + + Introduce a new statement DBI method $sth->last_insert_id() + thanks to pali #64 + Allow to call $dbh->last_insert_id() method without arguments + thanks to pali #64 + Added a new XS API function variant dbd_db_do6() + thanks to Pali #61 + + Fix misprints in doc of selectall_hashref + thanks to Perlover #69 + Remove outdated links to DBI related training resources. RT#125999 + +------------------------------------------------------------------- Old: ---- DBI-1.641.tar.gz New: ---- DBI-1.642.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-DBI.spec ++++++ --- /var/tmp/diff_new_pack.tLrPC6/_old 2018-11-13 16:26:08.506618378 +0100 +++ /var/tmp/diff_new_pack.tLrPC6/_new 2018-11-13 16:26:08.510618372 +0100 @@ -12,18 +12,18 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-DBI -Version: 1.641 +Version: 1.642 Release: 0 %define cpan_name DBI Summary: Database independent interface for Perl License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/DBI/ +Url: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/T/TI/TIMB/%{cpan_name}-%{version}.tar.gz Source1: perl-DBI.rpmlintrc Source2: cpanspec.yml @@ -55,7 +55,7 @@ find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" %{__make} %{?_smp_mflags} %check ++++++ DBI-1.641.tar.gz -> DBI-1.642.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/Changes new/DBI-1.642/Changes --- old/DBI-1.641/Changes 2018-03-19 18:06:39.000000000 +0100 +++ new/DBI-1.642/Changes 2018-10-28 16:04:56.000000000 +0100 @@ -6,6 +6,24 @@ =cut +=head2 Changes in DBI 1.642 - 28th October 2018 + + Fix '.' in @INC for proxy test under parallel load + thanks to H.Merijn Brand. + Fix driver-related croak() in DBI->connect to report the original DSN + thanks to maxatome #67 + + Introduce a new statement DBI method $sth->last_insert_id() + thanks to pali #64 + Allow to call $dbh->last_insert_id() method without arguments + thanks to pali #64 + Added a new XS API function variant dbd_db_do6() + thanks to Pali #61 + + Fix misprints in doc of selectall_hashref + thanks to Perlover #69 + Remove outdated links to DBI related training resources. RT#125999 + =head2 Changes in DBI 1.641 - 19th March 2018 Remove dependency on Storable 2.16 introduced in DBI 1.639 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/DBI.pm new/DBI-1.642/DBI.pm --- old/DBI-1.641/DBI.pm 2018-03-19 18:07:02.000000000 +0100 +++ new/DBI-1.642/DBI.pm 2018-10-28 20:45:09.000000000 +0100 @@ -11,7 +11,7 @@ require 5.008_001; BEGIN { -our $XS_VERSION = our $VERSION = "1.641"; # ==> ALSO update the version in the pod text below! +our $XS_VERSION = our $VERSION = "1.642"; # ==> ALSO update the version in the pod text below! $VERSION = eval $VERSION; } @@ -143,7 +143,7 @@ =head2 NOTES -This is the DBI specification that corresponds to DBI version 1.641 +This is the DBI specification that corresponds to DBI version 1.642 (see L<DBI::Changes> for details). The DBI is evolving at a steady pace, so it's good to check that @@ -443,7 +443,7 @@ commit => { U =>[1,1], O=>0x0480|0x0800, T=>0x1000 }, rollback => { U =>[1,1], O=>0x0480|0x0800, T=>0x1000 }, 'do' => { U =>[2,0,'$statement [, \%attr [, @bind_params ] ]'], O=>0x3200 }, - last_insert_id => { U =>[5,6,'$catalog, $schema, $table_name, $field_name [, \%attr ]'], O=>0x2800 }, + last_insert_id => { U =>[1,6,'[$catalog [,$schema [,$table_name [,$field_name [, \%attr ]]]]]'], O=>0x2800 }, preparse => { }, # XXX prepare => { U =>[2,3,'$statement [, \%attr]'], O=>0xA200 }, prepare_cached => { U =>[2,4,'$statement [, \%attr [, $if_active ] ]'], O=>0xA200 }, @@ -477,6 +477,7 @@ bind_param => { U =>[3,4,'$parameter, $var [, \%attr]'] }, bind_param_inout=> { U =>[4,5,'$parameter, \\$var, $maxlen, [, \%attr]'] }, execute => { U =>[1,0,'[@args]'], O=>0x1040 }, + last_insert_id => { U =>[1,6,'[$catalog [,$schema [,$table_name [,$field_name [, \%attr ]]]]]'], O=>0x2800 }, bind_param_array => { U =>[3,4,'$parameter, $var [, \%attr]'] }, bind_param_inout_array => { U =>[4,5,'$parameter, \\@var, $maxlen, [, \%attr]'] }, @@ -612,13 +613,14 @@ (ref $pass and not defined Scalar::Util::blessed($pass))); # extract dbi:driver prefix from $dsn into $1 + my $orig_dsn = $dsn; $dsn =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i or '' =~ /()/; # ensure $1 etc are empty if match fails my $driver_attrib_spec = $2 || ''; # Set $driver. Old style driver, if specified, overrides new dsn style. $driver = $old_driver || $1 || $ENV{DBI_DRIVER} - or Carp::croak("Can't connect to data source '$dsn' " + or Carp::croak("Can't connect to data source '$orig_dsn' " ."because I can't work out what driver to use " ."(it doesn't seem to contain a 'dbi:driver:' prefix " ."and the DBI_DRIVER env var is not set)"); @@ -2029,6 +2031,9 @@ return ($tuples, $rc_total); } + sub last_insert_id { + return shift->{Database}->last_insert_id(@_); + } sub fetchall_arrayref { # ALSO IN Driver.xst my ($sth, $slice, $max_rows) = @_; @@ -4504,6 +4509,7 @@ =head3 C<last_insert_id> + $rv = $dbh->last_insert_id(); $rv = $dbh->last_insert_id($catalog, $schema, $table, $field); $rv = $dbh->last_insert_id($catalog, $schema, $table, $field, \%attr); @@ -4696,8 +4702,8 @@ If a row has the same key as an earlier row then it replaces the earlier row. -If any method except C<fetchrow_hashref> fails, and L</RaiseError> is not set, -C<selectall_hashref> will return C<undef>. If C<fetchrow_hashref> fails and +If any method except C<fetchall_hashref> fails, and L</RaiseError> is not set, +C<selectall_hashref> will return C<undef>. If C<fetchall_hashref> fails and L</RaiseError> is not set, then it will return with whatever data it has fetched thus far. $DBI::err should be checked to catch that. @@ -6414,6 +6420,21 @@ The C<execute_for_fetch> method was added in DBI 1.38. +=head3 C<last_insert_id> + + $rv = $sth->last_insert_id(); + $rv = $sth->last_insert_id($catalog, $schema, $table, $field); + $rv = $sth->last_insert_id($catalog, $schema, $table, $field, \%attr); + +Returns a value 'identifying' the row inserted by last execution of the +statement C<$sth>, if possible. + +For some drivers the value may be 'identifying' the row inserted by the +last executed statement, not by C<$sth>. + +See database handle method last_insert_id for all details. + +The C<last_insert_id> statement method was added in DBI 1.642. =head3 C<fetchrow_arrayref> @@ -8403,16 +8424,6 @@ http://www.oreilly.de/catalog/perldbiger/ -=head1 TRAINING - -References to DBI related training resources. No recommendation implied. - - http://www.treepax.co.uk/ - http://www.keller.com/dbweb/ - -(If you offer professional DBI related training services, -please send me your details so I can add them here.) - =head1 OTHER RELATED WORK AND PERL MODULES =over 4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/Driver.xst new/DBI-1.642/Driver.xst --- old/DBI-1.641/Driver.xst 2018-03-19 18:00:20.000000000 +0100 +++ new/DBI-1.642/Driver.xst 2018-10-28 15:52:15.000000000 +0100 @@ -251,19 +251,27 @@ #endif -#ifdef dbd_db_do4 /* deebeedee-deebee-doo, deebee-doobee-dah? */ +#if defined(dbd_db_do6) || defined(dbd_db_do4) void -do(dbh, statement, params = Nullsv) +do(dbh, statement, params = Nullsv, ...) SV * dbh - char * statement + SV * statement SV * params CODE: { D_imp_dbh(dbh); IV retval; - retval = dbd_db_do4(dbh, imp_dbh, statement, params); /* might be dbd_db_do4_iv via macro */ - /* remember that dbd_db_do4 must return <= -2 for error */ +#ifdef dbd_db_do6 + /* items is a number of arguments passed to XSUB, supplied by xsubpp compiler */ + /* ax contains stack base offset used by ST() macro, supplied by xsubpp compiler */ + retval = dbd_db_do6(dbh, imp_dbh, statement, params, items-3, ax+3); +#else + if (items > 3) + croak_xs_usage(cv, "dbh, statement, params = Nullsv"); + retval = dbd_db_do4(dbh, imp_dbh, SvPV_nolen(statement), params); /* might be dbd_db_do4_iv via macro */ +#endif + /* remember that dbd_db_do* must return <= -2 for error */ if (retval == 0) /* ok with no rows affected */ XST_mPV(0, "0E0"); /* (true but zero) */ else if (retval < -1) /* -1 == unknown number of rows */ @@ -278,7 +286,7 @@ #ifdef dbd_db_last_insert_id void -last_insert_id(dbh, catalog, schema, table, field, attr=Nullsv) +last_insert_id(dbh, catalog=&PL_sv_undef, schema=&PL_sv_undef, table=&PL_sv_undef, field=&PL_sv_undef, attr=Nullsv) SV * dbh SV * catalog SV * schema @@ -638,6 +646,24 @@ #endif +#ifdef dbd_st_last_insert_id + +void +last_insert_id(sth, catalog=&PL_sv_undef, schema=&PL_sv_undef, table=&PL_sv_undef, field=&PL_sv_undef, attr=Nullsv) + SV * sth + SV * catalog + SV * schema + SV * table + SV * field + SV * attr + CODE: + { + D_imp_sth(sth); + ST(0) = dbd_st_last_insert_id(sth, imp_sth, catalog, schema, table, field, attr); + } + +#endif + void fetchrow_arrayref(sth) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/META.json new/DBI-1.642/META.json --- old/DBI-1.641/META.json 2018-03-19 18:54:53.000000000 +0100 +++ new/DBI-1.642/META.json 2018-10-28 20:48:32.000000000 +0100 @@ -58,7 +58,7 @@ "x_IRC" : "irc://irc.perl.org/#dbi", "x_MailingList" : "mailto:[email protected]" }, - "version" : "1.641", + "version" : "1.642", "x_serialization_backend" : "JSON::PP version 2.27300_01", "x_suggests" : { "Clone" : 0.34, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/META.yml new/DBI-1.642/META.yml --- old/DBI-1.641/META.yml 2018-03-19 18:54:52.000000000 +0100 +++ new/DBI-1.642/META.yml 2018-10-28 20:48:31.000000000 +0100 @@ -34,7 +34,7 @@ homepage: http://dbi.perl.org/ license: http://dev.perl.org/licenses/ repository: https://github.com/perl5-dbi/dbi -version: '1.641' +version: '1.642' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' x_suggests: Clone: 0.34 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/Perl.xs new/DBI-1.642/Perl.xs --- old/DBI-1.641/Perl.xs 2018-03-19 18:00:20.000000000 +0100 +++ new/DBI-1.642/Perl.xs 2018-10-28 15:52:15.000000000 +0100 @@ -27,7 +27,7 @@ #define dbd_discon_all(drh, imp_drh) (drh=drh,imp_drh=imp_drh,1) #define dbd_dr_data_sources(drh, imp_drh, attr) (drh=drh,imp_drh=imp_drh,attr=attr,Nullav) -#define dbd_db_do4_iv(dbh,imp_dbh,p3,p4) (dbh=dbh,imp_dbh=imp_dbh,p3=p3,p4=p4,-2) +#define dbd_db_do4_iv(dbh,imp_dbh,p3,p4) (dbh=dbh,imp_dbh=imp_dbh,(void*)p3,p4=p4,-2) #define dbd_db_last_insert_id(dbh, imp_dbh, p3,p4,p5,p6, attr) \ (dbh=dbh,imp_dbh=imp_dbh,p3=p3,p4=p4,p5=p5,p6=p6,attr=attr,&PL_sv_undef) #define dbd_take_imp_data(h, imp_xxh, p3) (h=h,imp_xxh=imp_xxh,&PL_sv_undef) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/dbd_xsh.h new/DBI-1.642/dbd_xsh.h --- old/DBI-1.641/dbd_xsh.h 2015-07-22 17:13:50.000000000 +0200 +++ new/DBI-1.642/dbd_xsh.h 2018-10-28 15:52:15.000000000 +0100 @@ -27,8 +27,9 @@ /* Note: interface of dbd_db_do changed in v1.33 */ /* Old prototype: dbd_db_do _((SV *sv, char *statement)); */ /* dbd_db_do: optional: defined by a driver if the DBI default version is too slow */ -int dbd_db_do4 _((SV *dbh, imp_dbh_t *imp_dbh, char *statement, SV *params)); -IV dbd_db_do4_iv _((SV *dbh, imp_dbh_t *imp_dbh, char *statement, SV *params)); +int dbd_db_do4 _((SV *dbh, imp_dbh_t *imp_dbh, char *statement, SV *params)); /* deprecated */ +IV dbd_db_do4_iv _((SV *dbh, imp_dbh_t *imp_dbh, char *statement, SV *params)); /* deprecated */ +IV dbd_db_do6 _((SV *dbh, imp_dbh_t *imp_dbh, SV *statement, SV *params, I32 items, I32 ax)); int dbd_db_commit _((SV *dbh, imp_dbh_t *imp_dbh)); int dbd_db_rollback _((SV *dbh, imp_dbh_t *imp_dbh)); int dbd_db_disconnect _((SV *dbh, imp_dbh_t *imp_dbh)); @@ -44,6 +45,7 @@ IV dbd_st_rows_iv _((SV *sth, imp_sth_t *imp_sth)); int dbd_st_execute _((SV *sth, imp_sth_t *imp_sth)); IV dbd_st_execute_iv _((SV *sth, imp_sth_t *imp_sth)); +SV *dbd_st_last_insert_id _((SV *sth, imp_sth_t *imp_sth, SV *catalog, SV *schema, SV *table, SV *field, SV *attr)); AV *dbd_st_fetch _((SV *sth, imp_sth_t *imp_sth)); int dbd_st_finish3 _((SV *sth, imp_sth_t *imp_sth, int from_destroy)); int dbd_st_finish _((SV *sth, imp_sth_t *imp_sth)); /* deprecated */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBI-1.641/t/80proxy.t new/DBI-1.642/t/80proxy.t --- old/DBI-1.641/t/80proxy.t 2013-04-05 00:17:19.000000000 +0200 +++ new/DBI-1.642/t/80proxy.t 2018-08-04 17:01:18.000000000 +0200 @@ -67,7 +67,7 @@ # Create an empty config file to make sure that settings aren't # overloaded by /etc/dbiproxy.conf -my $config_file = "dbiproxytst.conf"; +my $config_file = "./dbiproxytst.conf"; unlink $config_file; (open(FILE, ">$config_file") and (print FILE "{}\n") and
