Re: Future of support for older Perl versions in DBI

2020-09-20 Thread Tim Bunce
On Sat, Sep 19, 2020 at 11:46:57PM -0700, Darren Duncan wrote:
> Question:
> 
> Are there any plans to sunset support for older Perl versions such as 5.8.x
> in DBI in the foreseeable future or is the plan to continue to support
> 5.8.1+ indefinitely until something unforeseen thing prevents it?

To the extent that there's a plan at all, that's it.

> I ask because I plan to introduce new database-related CPAN modules and am
> starting to think about what minimum Perl version I should support.  By
> default the answer would be 5.8.0+ because that doesn't exclude anything
> that DBI itself supports.  But if DBI later say decided to require 5.10.0+
> or something else newer than 5.8.x then I would likely follow suit.  I don't
> actually need any Perl features newer than what 5.8.0 provides, but I would
> leverage some for cleaner coding if they were available.
> 
> Thank you for any insight.

Support whatever version you feel comfortable supporting.

Tim.


Re: [USN-4503-1] Perl DBI module vulnerability

2020-09-17 Thread Tim Bunce
> I've not seen much (any?) traffic on this list recently.  Is this list still 
> alive?

The DBI is very, um, stable.

> Is there a new release of DBI with the fix in place that I missed?

Yes, 1.643. It's not made very clear though.

CVE-2020-14392 
 
says "An untrusted pointer dereference flaw was found in Perl-DBI < 1.643" 
(note the "<")

The changes  for the 1.643 
release include several fixes from Pali and Petr. (Thanks!)

Tim.

> On 16 Sep 2020, at 18:25, Jonathan Leffler  wrote:
> 
> I've not seen much (any?) traffic on this list recently.  Is this list still 
> alive?
> 
> This message arrived from Canonical/Ubuntu about a fixed bug in DBI — 
> numerous versions thereof (1.640, 1.634, 1.630, 1.616).
> 
> Is there a new release of DBI with the fix in place that I missed?
> 
> 
> -- Forwarded message -
> From: Leonidas S. Barbosa  >
> Date: Wed, Sep 16, 2020 at 8:15 AM
> Subject: [USN-4503-1] Perl DBI module vulnerability
> To:  >
> 
> 
> ==
> Ubuntu Security Notice USN-4503-1
> September 16, 2020
> 
> libdbi-perl vulnerability
> ==
> 
> A security issue affects these releases of Ubuntu and its derivatives:
> 
> - Ubuntu 18.04 LTS
> - Ubuntu 16.04 LTS
> - Ubuntu 14.04 ESM
> - Ubuntu 12.04 ESM
> 
> Summary:
> 
> Perl DBI module could be made to execute arbitrary code if it received a
> specially manipulated call.
> 
> Software Description:
> - libdbi-perl: Perl Database Interface (DBI)
> 
> Details:
> 
> It was discovered that Perl DBI module incorrectly handled certain calls.
> An attacker could possibly use this issue to execute arbitrary code.
> 
> Update instructions:
> 
> The problem can be corrected by updating your system to the following
> package versions:
> 
> Ubuntu 18.04 LTS:
>   libdbi-perl 1.640-1ubuntu0.1
> 
> Ubuntu 16.04 LTS:
>   libdbi-perl 1.634-1ubuntu0.1
> 
> Ubuntu 14.04 ESM:
>   libdbi-perl 1.630-1ubuntu0.1~esm1
> 
> Ubuntu 12.04 ESM:
>   libdbi-perl 1.616-1ubuntu0.1
> 
> In general, a standard system update will make all the necessary changes.
> 
> References:
>   https://usn.ubuntu.com/4503-1 
>   CVE-2020-14392
> 
> Package Information:
>   https://launchpad.net/ubuntu/+source/libdbi-perl/1.640-1ubuntu0.1 
> 
>   https://launchpad.net/ubuntu/+source/libdbi-perl/1.634-1ubuntu0.1 
> 
> -- 
> ubuntu-security-announce mailing list
> ubuntu-security-annou...@lists.ubuntu.com 
> 
> Modify settings or unsubscribe at: 
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce 
> 
> 
> 
> -- 
> Jonathan Leffler  >  #include 
> Guardian of DBD::Informix - v2018.1031 - http://dbi.perl.org 
> 
> "Blessed are we who can laugh at ourselves, for we shall never cease to be 
> amused."
> 



[perl5-dbi/dbi] d44af1: Add date to DBI 1.643 notes in Changes

2020-01-31 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: d44af130dbfa7e6e07b2553c056ae7357ea70caa
  
https://github.com/perl5-dbi/dbi/commit/d44af130dbfa7e6e07b2553c056ae7357ea70caa
  Author: Tim Bunce 
  Date:   2020-01-31 (Fri, 31 Jan 2020)

  Changed paths:
M Changes

  Log Message:
  ---
  Add date to DBI 1.643 notes in Changes


[perl5-dbi/dbi]

2020-01-31 Thread Tim Bunce
  Branch: refs/tags/1.643
  Home:   https://github.com/perl5-dbi/dbi


[perl5-dbi/dbi] 4a68c5: Bump VERSION to 1.643

2020-01-31 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 4a68c5a79ab859b6308dd742ac2d2416e3d0dd92
  
https://github.com/perl5-dbi/dbi/commit/4a68c5a79ab859b6308dd742ac2d2416e3d0dd92
  Author: Tim Bunce 
  Date:   2020-01-31 (Fri, 31 Jan 2020)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Bump VERSION to 1.643


[perl5-dbi/dbi] ef0190: Update Changes. Convert encoding from ISO8859-1 to...

2020-01-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: ef019035159a9a695db5e8d49298aea8b137d635
  
https://github.com/perl5-dbi/dbi/commit/ef019035159a9a695db5e8d49298aea8b137d635
  Author: Tim Bunce 
  Date:   2020-01-26 (Sun, 26 Jan 2020)

  Changed paths:
M Changes

  Log Message:
  ---
  Update Changes. Convert encoding from ISO8859-1 to UTF-8.


[perl5-dbi/dbi] eca7d7: Fix a NULL profile dereference in dbi_profile()

2019-08-25 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: eca7d7c8f43d96f6277e86d1000e842eb4cc67ff
  
https://github.com/perl5-dbi/dbi/commit/eca7d7c8f43d96f6277e86d1000e842eb4cc67ff
  Author: Petr Písař 
  Date:   2019-07-31 (Wed, 31 Jul 2019)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Fix a NULL profile dereference in dbi_profile()

hv_fetch() documentation requires checking for NULL and the code does
that. But then calls SvOK(profile) uncoditionally two lines later.
This patch fixes it.


  Commit: 9c9dd0722e9a208a701bb47fd198679b11512206
  
https://github.com/perl5-dbi/dbi/commit/9c9dd0722e9a208a701bb47fd198679b11512206
  Author: Tim Bunce 
  Date:   2019-08-22 (Thu, 22 Aug 2019)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Merge pull request #84 from ppisar/dbi_profile_null_profile

Fix a NULL profile dereference in dbi_profile()


Compare: https://github.com/perl5-dbi/dbi/compare/2c335f308ee2...9c9dd0722e9a


[perl5-dbi/dbi] ea99b6: Fix memory corruption in XS functions when Perl st...

2019-08-25 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: ea99b6aafb437db53c28fd40d5eafbe119cd66e1
  
https://github.com/perl5-dbi/dbi/commit/ea99b6aafb437db53c28fd40d5eafbe119cd66e1
  Author: Pali 
  Date:   2019-07-31 (Wed, 31 Jul 2019)

  Changed paths:
M DBI.xs
M Driver.xst

  Log Message:
  ---
  Fix memory corruption in XS functions when Perl stack is reallocated

Macro ST(*) returns pointer to Perl stack. Other Perl functions which use
Perl stack (e.g. eval) may reallocate Perl stack and therefore pointer
returned by ST(*) macro is invalid.

Construction like this:

ST(0) = dbd_db_login6_sv(dbh, imp_dbh, dbname, username, password, attribs) ? 
_sv_yes : _sv_no;

where dbd_db_login6_sv() driver function calls eval may lead to
reallocating Perl stack and therefore invalidating ST(0) pointer.
So that construction would cause memory corruption as left part of
assignment is resolved prior executing dbd_db_login6_sv() function.

Correct way how to handle this problem: First call dbd_db_login6_sv()
function and then call ST(0) to retrieve stack pointer.

In this patch are fixes all occurrences of such constructions.

When running perl under valgrind I got memory corruption in DBD::ODBC
driver in that dbd_db_login6_sv() function due to above problem.

Exactly same problem was present in Encode module which was fixed in pull
request: https://github.com/dankogai/p5-encode/pull/72


  Commit: 2c335f308ee25ee811d386f04929c614302de4c9
  
https://github.com/perl5-dbi/dbi/commit/2c335f308ee25ee811d386f04929c614302de4c9
  Author: Tim Bunce 
  Date:   2019-08-22 (Thu, 22 Aug 2019)

  Changed paths:
M DBI.xs
M Driver.xst

  Log Message:
  ---
  Merge pull request #85 from pali/master

Fix memory corruption in XS functions when Perl stack is reallocated


Compare: https://github.com/perl5-dbi/dbi/compare/eaf547a5696b...2c335f308ee2


[perl5-dbi/dbi] 36f2a2: Fix a buffer overlfow on an overlong DBD class name

2019-08-01 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 36f2a2c5fea36d7d47d6871e420286643460e71b
  
https://github.com/perl5-dbi/dbi/commit/36f2a2c5fea36d7d47d6871e420286643460e71b
  Author: Petr Písař 
  Date:   2019-08-01 (Thu, 01 Aug 2019)

  Changed paths:
M DBI.xs
M t/02dbidrv.t

  Log Message:
  ---
  Fix a buffer overlfow on an overlong DBD class name

dbih_setup_handle() in DBI.xs does:

static void
dbih_setup_handle(pTHX_ SV *orv, char *imp_class, SV *parent, SV *imp_datasv)
{
[...]
char imp_mem_name[300];
[...]
strcpy(imp_mem_name, imp_class);
strcat(imp_mem_name, "_mem");
[...]
}

If imp_class argument string value is longer than 300 - strlen("_mem")
- 1 bytes, a data will be written past imp_mem_name[] array. The
imp_class comes from DBD driver class name (DBI::_new_drh ->
_new_handle() -> dbih_setup_handle()).

People usually do not use so long package names (e.g. DBD::ExampleP
calls DBI::_new_drh() in lib/DBD/ExampleP.pm), so the risk is low.

Reproducer:

$ perl -MDBI -e 'DBI::_new_drh(q{x} x 300, {}, 0)'
*** buffer overflow detected ***: perl terminated
Aborted (core dumped)

https://rt.cpan.org/Ticket/Display.html?id=130191


  Commit: eaf547a5696b8530b597f82dbb094ff1e3f6713d
  
https://github.com/perl5-dbi/dbi/commit/eaf547a5696b8530b597f82dbb094ff1e3f6713d
  Author: Tim Bunce 
  Date:   2019-08-01 (Thu, 01 Aug 2019)

  Changed paths:
M DBI.xs
M t/02dbidrv.t

  Log Message:
  ---
  Merge pull request #83 from ppisar/imp_mem_name

Fix a buffer overlfow on an overlong DBD class name


Compare: https://github.com/perl5-dbi/dbi/compare/a0e17557590f...eaf547a5696b


[perl5-dbi/dbi] ba16b2: Correct argument names of XS preparse()

2019-07-30 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: ba16b2512013604b82d771b8eb54c9adae239b41
  
https://github.com/perl5-dbi/dbi/commit/ba16b2512013604b82d771b8eb54c9adae239b41
  Author: Petr Písař 
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Correct argument names of XS preparse()

preparse C function had prototype:

SV * preparse(SV *dbh, const char *statement, IV ps_return, IV ps_accept, void 
*foo);

But XS function had a ps_return and ps_accept argument names swapped:

SV *
preparse(dbh, statement, ps_accept, ps_return, foo=Nullch)
SV *dbh

This patch corrects the discrepancy.


  Commit: a0e17557590fd913611d8c79a8879b31e42032e4
  
https://github.com/perl5-dbi/dbi/commit/a0e17557590fd913611d8c79a8879b31e42032e4
  Author: Tim Bunce 
  Date:   2019-07-27 (Sat, 27 Jul 2019)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Merge pull request #82 from ppisar/prepare_arg_names

Correct argument names of XS preparse()


Compare: https://github.com/perl5-dbi/dbi/compare/d58bcc98c7f9...a0e17557590f


[perl5-dbi/dbi] 517b1a: Introduce select and do wrappers earlier

2019-07-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 517b1ad934c9a89c56ec52aed4460c264f71d7e4
  
https://github.com/perl5-dbi/dbi/commit/517b1ad934c9a89c56ec52aed4460c264f71d7e4
  Author: Dan Book 
  Date:   2019-06-27 (Thu, 27 Jun 2019)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Introduce select and do wrappers earlier


  Commit: 11b9b87e4f256c7091665103d70efbe904ea39fb
  
https://github.com/perl5-dbi/dbi/commit/11b9b87e4f256c7091665103d70efbe904ea39fb
  Author: Tim Bunce 
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #80 from Grinnz/patch-1

Introduce select and do wrappers earlier


Compare: https://github.com/perl5-dbi/dbi/compare/abbcc3bcb649...11b9b87e4f25


[perl5-dbi/dbi] 00e2ec: Mark old API functions which overflow or are affec...

2019-07-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 00e2ec459b55b72ee5703c1bd8e6cf57f1986c05
  
https://github.com/perl5-dbi/dbi/commit/00e2ec459b55b72ee5703c1bd8e6cf57f1986c05
  Author: Pali 
  Date:   2019-05-16 (Thu, 16 May 2019)

  Changed paths:
M dbd_xsh.h

  Log Message:
  ---
  Mark old API functions which overflow or are affected by Perl's The Unicode 
Bug as deprecated


  Commit: d58bcc98c7f9a413058b4dec2803b16342d3850f
  
https://github.com/perl5-dbi/dbi/commit/d58bcc98c7f9a413058b4dec2803b16342d3850f
  Author: Tim Bunce 
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
M dbd_xsh.h

  Log Message:
  ---
  Merge pull request #79 from pali/master

Mark old API functions which overflow or are affected by Perl's The Unicode Bug 
as deprecated


Compare: https://github.com/perl5-dbi/dbi/compare/11b9b87e4f25...d58bcc98c7f9


[perl5-dbi/dbi] b5a144: Fix calling newSV() in malloc_using_sv()

2019-07-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: b5a1440f0352ccf36dbad791389ad65b2d1ce64c
  
https://github.com/perl5-dbi/dbi/commit/b5a1440f0352ccf36dbad791389ad65b2d1ce64c
  Author: Pali 
  Date:   2019-07-25 (Thu, 25 Jul 2019)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Fix calling newSV() in malloc_using_sv()

newSV(0) returns undef, scalar without PV slot. newSV(len) for len > 0
returns scalar with len+1 bytes in PV slot.

This change fixes calling malloc_using_sv(0) which may happen by calling
savepv_using_sv("").


  Commit: abbcc3bcb649173ede8e1d407e852d7d51ce9e6e
  
https://github.com/perl5-dbi/dbi/commit/abbcc3bcb649173ede8e1d407e852d7d51ce9e6e
  Author: Tim Bunce 
  Date:   2019-07-26 (Fri, 26 Jul 2019)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Merge pull request #81 from pali/newSV

Fix calling newSV() in malloc_using_sv()


Compare: https://github.com/perl5-dbi/dbi/compare/a9d94f68fa17...abbcc3bcb649


[perl5-dbi/dbi] 598f17: Add new attribute RaiseWarn

2019-04-30 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 598f17843c8e680ee296398c7bdd62e0d32829d7
  
https://github.com/perl5-dbi/dbi/commit/598f17843c8e680ee296398c7bdd62e0d32829d7
  Author: Pali 
  Date:   2019-04-30 (Tue, 30 Apr 2019)

  Changed paths:
M DBI.pm
M DBI.xs
M DBIXS.h
M MANIFEST
M lib/DBD/Gofer.pm
M lib/DBI/PurePerl.pm
M t/06attrs.t
M t/08keeperr.t
A t/17handle_error.t
M t/19fhtrace.t

  Log Message:
  ---
  Add new attribute RaiseWarn

The RaiseWarn attribute can be used to force warnings to raise exceptions
rather then simply printing them. It is off by default.

Similar to attribute RaiseError.


  Commit: 073e9ae2a7ad90941a5f2e8119712aa218a3dee0
  
https://github.com/perl5-dbi/dbi/commit/073e9ae2a7ad90941a5f2e8119712aa218a3dee0
  Author: Tim Bunce 
  Date:   2019-04-30 (Tue, 30 Apr 2019)

  Changed paths:
M DBI.pm
M DBI.xs
M DBIXS.h
M MANIFEST
M lib/DBD/Gofer.pm
M lib/DBI/PurePerl.pm
M t/06attrs.t
M t/08keeperr.t
A t/17handle_error.t
M t/19fhtrace.t

  Log Message:
  ---
  Merge pull request #71 RaiseWarn from pali/master

Add new attribute RaiseWarn


Compare: https://github.com/perl5-dbi/dbi/compare/a65554d1aff0...073e9ae2a7ad


Re: RaiseWarn attribute for DBI

2019-04-15 Thread Tim Bunce
On Fri, Apr 12, 2019 at 10:22:57AM +0200, p...@cpan.org wrote:
> On Monday 21 January 2019 16:55:07 p...@cpan.org wrote:
> > On Sunday 20 January 2019 17:27:22 Tim Bunce wrote:
> > > 
> > > Couldn't HandleSetErr be used for this?
> > > 
> > > Quoting the docs at https://metacpan.org/pod/DBI#HandleSetErr
> > > 
> > > HandleSetErr, on the other hand, is called whenever set_err() is
> > > called with a defined err value, even if false. So it's not just for
> > > errors, despite the name, but also warn and info states. The set_err()
> > > method, and thus HandleSetErr, may be called multiple times within a
> > > method and is usually invoked from deep within driver code.

> Hi Tim! Seems that HandleSetErr cannot be used. It is not called for
> cases which generates warnings.

Couldn't that be fixed?

Tim.

> On the other hand my proposed and implemented RaiseWarn is working fine.
> 
> > Anyway, another use-case is for testing DBI SQL applications. If I write
> > tests for that application which should not produce any SQL warnings,
> > then with my approach RaiseWarn => 1 in DBI->connect I can simple ensure
> > that test fails if something unexpected happens.
> > 
> > With HandleSetErr it is maybe possible too, but needs non-trivial logic
> > for writing code ref subroutine and is not so simple and obvious for
> > people who read test code. With RaiseWarn => 1 I simple declare what
> > should happen when warning is generated; similarly like for already
> > existing RaiseError.
> > 
> > Reason why I chose RaiseWarn is because there is already PrintWarn,
> > PrintError and RaiseError attributes. So RaiseWarn just use same naming
> > and logic pattern.


Re: Better diagnostic support in DBI

2019-04-08 Thread Tim Bunce
> Tim, what is opinion for adding that new diagnostic API into DBI?

I'd much prefer to wait till multiple drivers have added their own
driver-specific, and driver-optimized, interface. And then have a
discussion about how the DBI might best provide a common API.

That approach has worked well in the past.

Tim.

On Sun, Apr 07, 2019 at 06:36:55PM +0200, p...@cpan.org wrote:
> Hello, I would like to hear some feedback on this DBI API proposal.
> 
> Tim, what is opinion for adding that new diagnostic API into DBI?
> 
> On Tuesday 29 January 2019 13:16:23 p...@cpan.org wrote:
> > CCing DBD::Pg, DBD::Oracle and DBD::ODBC developers. What do you think
> > about following diagnostic API in DBI?
> > 
> > I looked at DBD::Pg and currently it does not support retrieving
> > warnings via $dbh->errstr or $dbh->state methods... So I think it that
> > my diagnostic API proposal can be useful for DBD::Pg too.
> > 
> > On Wednesday 23 January 2019 11:15:35 p...@cpan.org wrote:
> > > Hi! DBI currently supports 3 functions to retrieve diagnostic
> > > informations
> > > 
> > > https://metacpan.org/pod/DBI#err
> > > https://metacpan.org/pod/DBI#errstr
> > > https://metacpan.org/pod/DBI#state
> > > 
> > > which return the last one database native code, message and SQLSTATE.
> > > Plus there warning or note information is indicated by zero native code
> > > or by empty string in native code.
> > > 
> > > This API has two big limitations:
> > > 
> > > 1) It does not support providing database native code for warnings and
> > >note informations.
> > > 
> > > 2) It does not support providing more warnings, errors or note
> > >informations.
> > > 
> > > It most cases database native code is what application can "parse" and
> > > decide how to handle it. So absence of database native code for warnings
> > > or note informations can be a problem -- as currently DBI application
> > > needs to parse string message from $dbh->errstr.
> > > 
> > > Also databases can return more warnings or note informations for the
> > > last executed call. For this case DBI defines API for errstr just as:
> > > 
> > > "The returned string may contain multiple messages separated by newline
> > > characters."
> > > 
> > > So it is harder for DBI application to parse multi warnings. And there
> > > is not information for which warning is value from $dbh->state.
> > > 
> > > 
> > > 
> > > Based on above two limitations I would like to propose a new API for
> > > diagnostic messages (errors, warnings and note / success with
> > > information).
> > > 
> > > New method call "get_diagnostics()" for all DBI handles. It would
> > > return array of diagnostics member. Each diagnostic member would contain
> > > reference to array with 4 members: type, native code, message, sqlstate.
> > > 
> > > Type can be non-zero for errors, zero for warnings and empty string for
> > > notes / success with information. Like what $dbh->err now returns.
> > > 
> > > Native code is native database code, same what $dbh->err returns for
> > > errors. But for warnings and notes it would also contain database native
> > > code, not just false value
> > > 
> > > Message and sqlstate would return $dbh->errstr and $dbh->state.
> > > 
> > > Example of usage:
> > > 
> > >   my @array = $dbh->get_diagnostics();
> > >   foreach (@array) {
> > > my ($type, $code, $message, $sqlstate) = @{$_};
> > > if ($type) {
> > >   print "Error $code ($sqlstate): $message\n";
> > > } elsif ($type eq '0') {
> > >   print "Warning $code ($sqlstate): $message\n";
> > > } else {
> > >   # Process success with information message
> > > }
> > >   }
> > > 
> > > What do you think about it?


[perl5-dbi/dbi] 0d1b61: Fix calling dbd_db_do6 API function

2019-03-04 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 0d1b61fa9eb06e37fa22dc5facb419f145fba0c1
  
https://github.com/perl5-dbi/dbi/commit/0d1b61fa9eb06e37fa22dc5facb419f145fba0c1
  Author: Pali 
  Date:   2019-01-16 (Wed, 16 Jan 2019)

  Changed paths:
M Driver.xst

  Log Message:
  ---
  Fix calling dbd_db_do6 API function

Ensure that passed number items into dbd_db_do6 API function is not
negative and that ax points after the last processed argument.

This is needed because number of arguments passed to $dbh->do() method can
be also less then 3 (some arguments are optional).


  Commit: 321d2865b345455308c5fe21369f6304c1121d2f
  
https://github.com/perl5-dbi/dbi/commit/321d2865b345455308c5fe21369f6304c1121d2f
  Author: Tim Bunce 
  Date:   2019-03-04 (Mon, 04 Mar 2019)

  Changed paths:
M Driver.xst

  Log Message:
  ---
  Merge pull request #72 from pali/fix_dbd_db_do6

Fix calling dbd_db_do6 API function


Compare: https://github.com/perl5-dbi/dbi/compare/d04cc8102704...321d2865b345


[perl5-dbi/dbi] 0a1685: Update dbipport.h from Devel::PPPort 3.43

2019-02-21 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 0a1685ad2af481097169c4e23bf029e25fc8bcb5
  
https://github.com/perl5-dbi/dbi/commit/0a1685ad2af481097169c4e23bf029e25fc8bcb5
  Author: Pali 
  Date:   2019-02-12 (Tue, 12 Feb 2019)

  Changed paths:
M dbipport.h

  Log Message:
  ---
  Update dbipport.h from Devel::PPPort 3.43


  Commit: ac809c0c303d7cd1f5d73d3bb4dd6a803db94e0d
  
https://github.com/perl5-dbi/dbi/commit/ac809c0c303d7cd1f5d73d3bb4dd6a803db94e0d
  Author: Pali 
  Date:   2019-02-12 (Tue, 12 Feb 2019)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Remove compatibility macros which are either provided by new Devel::PPPort or 
by Perl 5.8.1


  Commit: d04cc8102704a8354dafc0616cdc282fee70a9bf
  
https://github.com/perl5-dbi/dbi/commit/d04cc8102704a8354dafc0616cdc282fee70a9bf
  Author: Tim Bunce 
  Date:   2019-02-12 (Tue, 12 Feb 2019)

  Changed paths:
M DBI.xs
M dbipport.h

  Log Message:
  ---
  Merge pull request #75 from pali/devel-ppport

Update dbipport.h from Devel::PPPort 3.43


Compare: https://github.com/perl5-dbi/dbi/compare/0717caee91f6...d04cc8102704


[perl5-dbi/dbi] f39c08: Update documentation in which version was $dbh->se...

2019-01-24 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: f39c0856d2c6bfe64f4b6e1b40a63bb3c2f0dcdb
  
https://github.com/perl5-dbi/dbi/commit/f39c0856d2c6bfe64f4b6e1b40a63bb3c2f0dcdb
  Author: Pali 
  Date:   2019-01-23 (Wed, 23 Jan 2019)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Update documentation in which version was $dbh->selectall_array() method 
introduced


  Commit: 0717caee91f6d44d14710676008811e93cc62d57
  
https://github.com/perl5-dbi/dbi/commit/0717caee91f6d44d14710676008811e93cc62d57
  Author: Tim Bunce 
  Date:   2019-01-23 (Wed, 23 Jan 2019)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #73 from pali/selectall_array

Update documentation in which version was $dbh->selectall_array() method 
introduced


Compare: https://github.com/perl5-dbi/dbi/compare/bcbe02280c53...0717caee91f6
  **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

  Functionality will be removed from GitHub.com on January 31st, 2019.


Re: Better diagnostic support in DBI

2019-01-23 Thread Tim Bunce
A key goal of the DBI is to provide a database independant interface to
databases to enable application portability.  What you're suggesting
seems inherently database specific.

The DBI defines a way for drivers to offer database specific functionality.

A good way to move a suggestion like this move forward is to work with
multiple driver authors to add similar functionality to their drivers.
Exposing the full features that a specific database makes available, via a
database specific interface, is immediately helpful for users of that driver.

Once multiple drivers provide similar functionality then it would be
reasonable to work on a design for extending the DBI itself.

Tim.


Re: RaiseWarn attribute for DBI

2019-01-20 Thread Tim Bunce
On Fri, Jan 18, 2019 at 10:47:41AM +0100, p...@cpan.org wrote:
> On Friday 18 January 2019 09:13:48 Tim Bunce wrote:
> > On Thu, Jan 17, 2019 at 10:02:39AM +0100, p...@cpan.org wrote:
> > > 
> > > Currently DBI has only $dbh->{PrintWarn} attribute to control warnings.
> > > When is set to true (by default) all warnings from DBI driver are passed
> > > to perl's "warn" function.
> > > 
> > > So I would propose to add $dbh->{RaiseWarn} attribute (off by default)
> > > to behave like $dbh->{RaiseError}, but for warnings.
> > 
> > I'd like to know more about the specific use-case(s) that prompted this.
> 
> Hi! The use-case is for testing code, that its SQL part does not produce
> any warning. Lot of database server supports vendor specific SQL command
> to convert warnings to errors, but there is no standard way how to do it
> driver/database independent. And because DBI reports warnings via Perl's
> warn, it is not possible to easily distinguish between DBI warnings,
> internal Perl warnings and warnings generated by other 3rd modules.
> 
> So use-case is: raise DBI errors for any warning or error from database
> server and let warnings reported by 3rd modules and by Perl itself as
> is. So to ensure that database server does not produce any "problems".

Couldn't HandleSetErr be used for this?

Quoting the docs at https://metacpan.org/pod/DBI#HandleSetErr

HandleSetErr, on the other hand, is called whenever set_err() is
called with a defined err value, even if false. So it's not just for
errors, despite the name, but also warn and info states. The set_err()
method, and thus HandleSetErr, may be called multiple times within a
method and is usually invoked from deep within driver code.

Tim.


Re: RaiseWarn attribute for DBI

2019-01-18 Thread Tim Bunce
On Thu, Jan 17, 2019 at 10:02:39AM +0100, p...@cpan.org wrote:
> 
> Currently DBI has only $dbh->{PrintWarn} attribute to control warnings.
> When is set to true (by default) all warnings from DBI driver are passed
> to perl's "warn" function.
> 
> So I would propose to add $dbh->{RaiseWarn} attribute (off by default)
> to behave like $dbh->{RaiseError}, but for warnings.

I'd like to know more about the specific use-case(s) that prompted this.

Tim.

p.s. Re the compatibility topic in this thread: there will be no
breaking changes to DBI.


[perl5-dbi/dbi] 509f92: Update Changes. Bump version to 1.642.

2018-10-28 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 509f9287295dcb3b50339bf88bed9330e6a48ac5
  
https://github.com/perl5-dbi/dbi/commit/509f9287295dcb3b50339bf88bed9330e6a48ac5
  Author: Tim Bunce 
  Date:   2018-10-28 (Sun, 28 Oct 2018)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Update Changes. Bump version to 1.642.



  **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

  Functionality will be removed from GitHub.com on January 31st, 2019.


[perl5-dbi/dbi] da5298: Add a new API function dbd_db_do6()

2018-10-21 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: da5298c168aa1e6421e853f590cbe7b11da9c029
  
https://github.com/perl5-dbi/dbi/commit/da5298c168aa1e6421e853f590cbe7b11da9c029
  Author: Pali 
  Date:   2018-10-21 (Sun, 21 Oct 2018)

  Changed paths:
M Driver.xst
M Perl.xs
M dbd_xsh.h

  Log Message:
  ---
  Add a new API function dbd_db_do6()

Current API via dbd_db_do4() function does not allow DBI drivers to
implement $dbh->do() method with additional binding parameters. Binding
parameters for $dbh->do() methods are already documented and supported by
DBI API itself, but can be implemented only for Pure Perl DBI drivers.

Also current API for dbd_db_do4() function is affected by Perl's The
Unicode bug as it uses char* as an XS argument. DBI driver implementer is
not able to process Unicode statement correctly and also is not able to
process statement with nul bytes (e.g. binary blobs). The only fix for DBI
and drivers is to define a new API without those design bugs. All other DBI
APIs pass SV* as a statement, not char* -- therefore they are not affected.

With this new dbd_db_do6() API, DBI driver implementer can use SvPVutf8()
call (or SvPVbyte()) instead of SvPV_nolen() to ensure that returned char*
will be always encoded in UTF-8 (or Latin1). And can also retrieve correct
length of statement in case it contains nul bytes. SvPV_nolen() returns
char* in pseudo-randomly chosen encoding (UTF-8 or Latin1) and so is
absolutely unsuitable for anything else than ASCII strings.

When dbd_db_do6 is defined, then this function takes two additional
arguments: number of supplied bind parameters (items) and stack base offset
(ax) to the first supplied bind parameter, which can be used by ST() macro
to retrieve i-th supplied bind parameter.

This would allow DBI drivers to implement Unicode aware $dbh->do() method
with passing also binding parameters.


  Commit: 271a8c303e3bcdb3b174a39b3c42f2799ef0794a
  
https://github.com/perl5-dbi/dbi/commit/271a8c303e3bcdb3b174a39b3c42f2799ef0794a
  Author: Tim Bunce 
  Date:   2018-10-21 (Sun, 21 Oct 2018)

  Changed paths:
M Driver.xst
M Perl.xs
M dbd_xsh.h

  Log Message:
  ---
  Merge pull request #61 from pali/master

Add a new API function dbd_db_do6()


Compare: https://github.com/perl5-dbi/dbi/compare/3a317ffbc39c...271a8c303e3b
  **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

  Functionality will be removed from GitHub.com on January 31st, 2019.


[perl5-dbi/dbi] 84a2fb: Update DBI.pm

2018-10-21 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 84a2fbc475094dd472c64d0dc854eaffc1ab1d7f
  
https://github.com/perl5-dbi/dbi/commit/84a2fbc475094dd472c64d0dc854eaffc1ab1d7f
  Author: Perlover 
  Date:   2018-10-15 (Mon, 15 Oct 2018)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Update DBI.pm

Misprints in doc of selectall_hashref


  Commit: 7f4ae0855bf986f76c6f87d885795257b57bf5cb
  
https://github.com/perl5-dbi/dbi/commit/7f4ae0855bf986f76c6f87d885795257b57bf5cb
  Author: Tim Bunce 
  Date:   2018-10-21 (Sun, 21 Oct 2018)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #69 from Perlover/patch-1

Update DBI.pm


Compare: https://github.com/perl5-dbi/dbi/compare/271a8c303e3b...7f4ae0855bf9
  **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

  Functionality will be removed from GitHub.com on January 31st, 2019.


[perl5-dbi/dbi] 2f3ffa: Remove outdated links to DBI related training reso...

2018-08-05 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 2f3ffa470b80311f237c91bdf66ed42905532739
  
https://github.com/perl5-dbi/dbi/commit/2f3ffa470b80311f237c91bdf66ed42905532739
  Author: Tim Bunce 
  Date:   2018-08-04 (Sat, 04 Aug 2018)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Remove outdated links to DBI related training resources. RT#125999



  **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

  Functionality will be removed from GitHub.com on January 31st, 2019.


[perl5-dbi/dbi] 41613e: Allow to call $dbh->last_insert_id() method withou...

2018-05-17 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 41613e73cc06b400425cb2c28ebab999404d1d3e
  
https://github.com/perl5-dbi/dbi/commit/41613e73cc06b400425cb2c28ebab999404d1d3e
  Author: Pali <p...@cpan.org>
  Date:   2018-04-27 (Fri, 27 Apr 2018)

  Changed paths:
M DBI.pm
M Driver.xst

  Log Message:
  ---
  Allow to call $dbh->last_insert_id() method without arguments

Some databases ignores all arguments passed to $dbh->last_insert_id(...)
and currently caller needs to supply at least four undefs.

This change allows to call $dbh->last_insert_id() without any argument and
internally fill missing arguments with undefs. Therefore it does not change
API for drivers.


  Commit: c898cf9bfd8251813ce046d504d5451bdb5eb63f
  
https://github.com/perl5-dbi/dbi/commit/c898cf9bfd8251813ce046d504d5451bdb5eb63f
  Author: Pali <p...@cpan.org>
  Date:   2018-04-27 (Fri, 27 Apr 2018)

  Changed paths:
M DBI.pm
M Driver.xst
M dbd_xsh.h

  Log Message:
  ---
  Introduce a new statement DBI method $sth->last_insert_id()

This method returns a value 'identifying' the row inserted by last
execution of the statement, if possible.

Similarly like $dbh->last_insert_id() but keep track of statement handle.

Some databases (like MariaDB) supports returning last insert id for
specified statement handle even different INSERT commands were executed.
This allows consistent last insert id implementations for these databases.

A fallback implementation just calls $dbh->last_insert_id().


  Commit: 80126d4638e77bcca85a5215cfed5c8793fa2de5
  
https://github.com/perl5-dbi/dbi/commit/80126d4638e77bcca85a5215cfed5c8793fa2de5
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2018-05-16 (Wed, 16 May 2018)

  Changed paths:
M DBI.pm
M Driver.xst
M dbd_xsh.h

  Log Message:
  ---
  Merge pull request #64 from pali/last-insert-id

Add last_insert_id method on statement handles. Allow no arguments.


Compare: https://github.com/perl5-dbi/dbi/compare/448b99d08068...80126d4638e7
  **NOTE:** This service been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

  Functionality will be removed from GitHub.com on January 31st, 2019.


Re: Extend API for last_insert_id

2018-05-15 Thread Tim Bunce
On Fri, May 04, 2018 at 02:10:18PM +0200, p...@cpan.org wrote:
> Hello, do you have any opinion or comments?
> 
> Tim, you as a DBI maintainer, what do you think about those ideas?
> 
> On Friday 27 April 2018 16:03:59 p...@cpan.org wrote:
> > 
> > So I'm proposing change that caller would be allowed to call
> > $dbh->last_insert_id() without any argument

Ok.

> > Second change: Add a new statement method $sth->last_insert_id().

That seems fine. I'd write the fallback code like this:

sub last_insert_id { return shift->{Database}->last_insert_id(@_) }

Thanks Pali.

Tim.


[perl5-dbi/dbi] af7eac: Bump version, update Changes

2018-03-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: af7eac9e702d8e770120d28a164eca9701bc2b8b
  
https://github.com/perl5-dbi/dbi/commit/af7eac9e702d8e770120d28a164eca9701bc2b8b
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2018-03-19 (Mon, 19 Mar 2018)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Bump version, update Changes




[perl5-dbi/dbi] bc7801: Fix compile warnings in Driver.xst

2018-03-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: bc78012cf6a70228d7d3dd0814cbde29be62bf47
  
https://github.com/perl5-dbi/dbi/commit/bc78012cf6a70228d7d3dd0814cbde29be62bf47
  Author: Pali <p...@cpan.org>
  Date:   2018-02-09 (Fri, 09 Feb 2018)

  Changed paths:
M Driver.xst
M Perl.xs

  Log Message:
  ---
  Fix compile warnings in Driver.xst

Perl.c: In function ‘XS_DBD__Perl__dr_data_sources’:
Perl.c:276:7: warning: variable ‘attr’ set but not used 
[-Wunused-but-set-variable]
  SV * attr;
   ^~~~
Perl.c: In function ‘XS_DBD__Perl__db__login’:
Perl.c:320:7: warning: variable ‘attribs’ set but not used 
[-Wunused-but-set-variable]
  SV * attribs;
   ^~~
Perl.c: In function ‘XS_DBD__Perl__db_last_insert_id’:
Perl.c:604:7: warning: variable ‘attr’ set but not used 
[-Wunused-but-set-variable]
  SV * attr;
   ^~~~


  Commit: f3f723acc7f657b7a091bd1d96acacaf9eb916ee
  
https://github.com/perl5-dbi/dbi/commit/f3f723acc7f657b7a091bd1d96acacaf9eb916ee
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2018-03-19 (Mon, 19 Mar 2018)

  Changed paths:
M Driver.xst
M Perl.xs

  Log Message:
  ---
  Merge pull request #59 from pali/master

Fix compile warnings in Driver.xst


Compare: https://github.com/perl5-dbi/dbi/compare/3accfb15cb46...f3f723acc7f6

[perl5-dbi/dbi] 585b80: Gentler fix of failing tests

2018-03-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 585b804d1791d2b20428349315b786c0021f5fad
  
https://github.com/perl5-dbi/dbi/commit/585b804d1791d2b20428349315b786c0021f5fad
  Author: Peter Rabbitson <ribasu...@leporine.io>
  Date:   2018-02-19 (Mon, 19 Feb 2018)

  Changed paths:
M Changes
M Makefile.PL
M t/06attrs.t

  Log Message:
  ---
  Gentler fix of failing tests

Mostly reverts 41e039cfa


  Commit: 3accfb15cb46ca745d7c27a6811825efe1524677
  
https://github.com/perl5-dbi/dbi/commit/3accfb15cb46ca745d7c27a6811825efe1524677
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2018-03-19 (Mon, 19 Mar 2018)

  Changed paths:
M Changes
M Makefile.PL
M t/06attrs.t

  Log Message:
  ---
  Merge pull request #60 from ribasushi/gentler_storable

Gentler fix of failing tests


Compare: https://github.com/perl5-dbi/dbi/compare/95bcd9907875...3accfb15cb46

[perl5-dbi/dbi] 95bcd9: Update Changes. Bump version.

2018-01-29 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 95bcd9907875c39f76a21b8df8bd47424c5506ee
  
https://github.com/perl5-dbi/dbi/commit/95bcd9907875c39f76a21b8df8bd47424c5506ee
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2018-01-28 (Sun, 28 Jan 2018)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Update Changes. Bump version.




[perl5-dbi/dbi] 8654af: Fix test t/91_store_warning.t

2018-01-29 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 8654af8fd0bf287b1429eb354e2102859ae74d41
  
https://github.com/perl5-dbi/dbi/commit/8654af8fd0bf287b1429eb354e2102859ae74d41
  Author: Pali <p...@cpan.org>
  Date:   2018-01-27 (Sat, 27 Jan 2018)

  Changed paths:
M t/91_store_warning.t

  Log Message:
  ---
  Fix test t/91_store_warning.t

Use \x{263A} syntax instead of \N{U+263A} in qr//. It looks like \N does not 
work in qr// with Perl 5.10.0.


  Commit: fd08adff477b27a62c209f56341fff7d864bb1bc
  
https://github.com/perl5-dbi/dbi/commit/fd08adff477b27a62c209f56341fff7d864bb1bc
  Author: Pali <p...@cpan.org>
  Date:   2018-01-27 (Sat, 27 Jan 2018)

  Changed paths:
M .travis.yml

  Log Message:
  ---
  Add Perl 5.10.0 and 5.8.1 to Travis testing


  Commit: 34ec603b6f08dbd2499fbe3a6c453caa3f091a06
  
https://github.com/perl5-dbi/dbi/commit/34ec603b6f08dbd2499fbe3a6c453caa3f091a06
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2018-01-28 (Sun, 28 Jan 2018)

  Changed paths:
M .travis.yml
M t/91_store_warning.t

  Log Message:
  ---
  Merge pull request #57 from pali/warning

Fix test t/91_store_warning.t for Perl 5.10.0


Compare: https://github.com/perl5-dbi/dbi/compare/be4dc7873a33...34ec603b6f08

[perl5-dbi/dbi] 752baa: Add mariadb_ prefix for a new DBD::MariaDB driver

2018-01-29 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 752baaf2b66270f30c064ee1eae6bd4ff2a81a78
  
https://github.com/perl5-dbi/dbi/commit/752baaf2b66270f30c064ee1eae6bd4ff2a81a78
  Author: Pali <p...@cpan.org>
  Date:   2018-01-25 (Thu, 25 Jan 2018)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Add mariadb_ prefix for a new DBD::MariaDB driver

A new DBD::MariaDB driver is a fork of DBD::mysql and is currently
developed at github: https://github.com/gooddata/DBD-MariaDB

Without registering DBI prefix, DBD::MariaDB itself cannot register own
methods on $dbh or $sth handles and throw error:

method name prefix 'mariadb_' is not associated with a registered driver


  Commit: 2e1b45c728cc92f470d971dcc2510a524c5d529b
  
https://github.com/perl5-dbi/dbi/commit/2e1b45c728cc92f470d971dcc2510a524c5d529b
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2018-01-28 (Sun, 28 Jan 2018)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #56 from pali/master

Add mariadb_ prefix for a new DBD::MariaDB driver


Compare: https://github.com/perl5-dbi/dbi/compare/34ec603b6f08...2e1b45c728cc

[perl5-dbi/dbi] be4dc7: Update Changes to record 1.639 release date

2018-01-01 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: be4dc7873a33f3d4ef56812ed01a34587d71aa15
  
https://github.com/perl5-dbi/dbi/commit/be4dc7873a33f3d4ef56812ed01a34587d71aa15
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-12-30 (Sat, 30 Dec 2017)

  Changed paths:
M Changes

  Log Message:
  ---
  Update Changes to record 1.639 release date




[perl5-dbi/dbi] d497cd: Add new Changes in DBI 1.638 section with latest c...

2017-12-28 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: d497cd63c78f13fba0c20a6d23d40f9b99768e7b
  
https://github.com/perl5-dbi/dbi/commit/d497cd63c78f13fba0c20a6d23d40f9b99768e7b
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-12-28 (Thu, 28 Dec 2017)

  Changed paths:
M Changes

  Log Message:
  ---
  Add new Changes in DBI 1.638 section with latest changes.




[perl5-dbi/dbi] 5deedc: Implement warn_sv/croak_sv with UTF-8 support also...

2017-12-28 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 5deedcfee79137c71a2183830f709da3bbfae77a
  
https://github.com/perl5-dbi/dbi/commit/5deedcfee79137c71a2183830f709da3bbfae77a
  Author: Pali <p...@cpan.org>
  Date:   2017-08-14 (Mon, 14 Aug 2017)

  Changed paths:
M DBI.xs
M t/91_store_warning.t

  Log Message:
  ---
  Implement warn_sv/croak_sv with UTF-8 support also for Perl prior to 5.14

Calling croak(NULL) would take exception from the $@ without loosing
SVf_UTF8 flag with a bonus which support object references. So it is better
equivalent for croak_sv() from Perl 5.14+.

Calling warn("%" SVf, SVfARG(sv)) is what older Perl's pp_warn() does to
pass scalar independently of SVf_UTF8 flag.

Fixes RT#102404 for Perl prior to 5.14.


  Commit: 654f47a4db12f6af9b6802415bc31888a985527b
  
https://github.com/perl5-dbi/dbi/commit/654f47a4db12f6af9b6802415bc31888a985527b
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-12-28 (Thu, 28 Dec 2017)

  Changed paths:
M DBI.xs
M t/91_store_warning.t

  Log Message:
  ---
  Merge pull request #53 from pali/master

Implement warn_sv/croak_sv with UTF-8 support also for Perl prior to 5.14


Compare: https://github.com/perl5-dbi/dbi/compare/d497cd63c78f...654f47a4db12

[perl5-dbi/dbi] 206032: Bump version to 1.639. Add lib/DBD/Mem.pm to MANIF...

2017-12-28 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 2060321973fca6ce324250879a89b4e013b5a952
  
https://github.com/perl5-dbi/dbi/commit/2060321973fca6ce324250879a89b4e013b5a952
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-12-28 (Thu, 28 Dec 2017)

  Changed paths:
M DBI.pm
M MANIFEST

  Log Message:
  ---
  Bump version to 1.639. Add lib/DBD/Mem.pm to MANIFEST.

Version 1.638 was tagged too soon, before I noticed lib/DBD/Mem.pm was missing.




[perl5-dbi/dbi] 7c5683: Update Changes. Add t/54_dbd_mem.t to MANIFEST

2017-12-28 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 7c5683771d5f8c384ce78b4d174ead45e98c1901
  
https://github.com/perl5-dbi/dbi/commit/7c5683771d5f8c384ce78b4d174ead45e98c1901
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-12-28 (Thu, 28 Dec 2017)

  Changed paths:
M Changes
M MANIFEST

  Log Message:
  ---
  Update Changes. Add t/54_dbd_mem.t to MANIFEST




[perl5-dbi/dbi] 88e038: Add missing semicolon in documentation

2017-12-28 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 88e03819620d2859c5ea219e5654dec035217922
  
https://github.com/perl5-dbi/dbi/commit/88e03819620d2859c5ea219e5654dec035217922
  Author: Mark Fowler <m...@twoshortplanks.com>
  Date:   2017-08-28 (Mon, 28 Aug 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Add missing semicolon in documentation


  Commit: 90d30958b93515a42a3b265d6bcae23584462764
  
https://github.com/perl5-dbi/dbi/commit/90d30958b93515a42a3b265d6bcae23584462764
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-12-28 (Thu, 28 Dec 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #55 from 2shortplanks/2shortplanks/missing-semi-colon-docs

Add missing semicolon in example in documentation


Compare: https://github.com/perl5-dbi/dbi/compare/654f47a4db12...90d30958b935

[perl5-dbi/dbi] 08dadf: DBD::Mem - add new pure perl driver DBD::Mem

2017-12-28 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 08dadfe404737721568c35bb9c9dfbbe107ebb4b
  
https://github.com/perl5-dbi/dbi/commit/08dadfe404737721568c35bb9c9dfbbe107ebb4b
  Author: Jens Rehsack <s...@netbsd.org>
  Date:   2017-08-29 (Tue, 29 Aug 2017)

  Changed paths:
M DBI.pm
A lib/DBD/Mem.pm
A t/54_dbd_mem.t

  Log Message:
  ---
  DBD::Mem - add new pure perl driver DBD::Mem

Introduce new DBI::SQL::Nano based driver for advanced testing (e.g.
combining DBD::AnyData2 with DBD::CSV, without relying on external
drivers).

Signed-off-by: Jens Rehsack <s...@netbsd.org>


  Commit: dc48196b7ad22e321af1119bdbb6d1823c6e8de0
  
https://github.com/perl5-dbi/dbi/commit/dc48196b7ad22e321af1119bdbb6d1823c6e8de0
  Author: Jens Rehsack <s...@netbsd.org>
  Date:   2017-08-29 (Tue, 29 Aug 2017)

  Changed paths:
M t/48dbi_dbd_sqlengine.t

  Log Message:
  ---
  t/48dbi_dbd_sqlengine.t: fix SQL syntax

Even if the SQL statements aren't executed, they should express what is meant.

Signed-off-by: Jens Rehsack <s...@netbsd.org>


  Commit: 1cc6ecc2f281697cd039b5d12d3320b7b9e9ad9c
  
https://github.com/perl5-dbi/dbi/commit/1cc6ecc2f281697cd039b5d12d3320b7b9e9ad9c
  Author: Jens Rehsack <s...@netbsd.org>
  Date:   2017-09-05 (Tue, 05 Sep 2017)

  Changed paths:
M lib/DBD/Mem.pm

  Log Message:
  ---
  DBD::Mem: add basic documentation

Add some documentation to DBD::Mem explaining where it's here, what's the
expected outcome, some basic use cases.

Let's see where it leads us to ...

Signed-off-by: Jens Rehsack <s...@netbsd.org>


  Commit: 2f28cd2ab5b19c6e1b891112e88a7b9da3f42482
  
https://github.com/perl5-dbi/dbi/commit/2f28cd2ab5b19c6e1b891112e88a7b9da3f42482
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-12-28 (Thu, 28 Dec 2017)

  Changed paths:
M DBI.pm
A lib/DBD/Mem.pm
M t/48dbi_dbd_sqlengine.t
A t/54_dbd_mem.t

  Log Message:
  ---
  Merge pull request #42 from rehsack/dbd_mem

Add DBD::Mem driver, a pure-perl in-memory driver using DBI::DBD::SqlEngine.


Compare: https://github.com/perl5-dbi/dbi/compare/41e039cfa04c...2f28cd2ab5b1

Re: DBI-git on perl-5.8.8

2017-09-21 Thread Tim Bunce
On Mon, Sep 18, 2017 at 07:25:54PM +0200, H.Merijn Brand wrote:
> On Mon, 18 Sep 2017 17:57:39 +0100, Tim Bunce <tim.bu...@pobox.com>
> > 
> > > This is fixed by updating Storable, so the minimum requirement for
> > > Storable's version is too low (or in our case, not required at all)
> > > 
> > > perl-5.8.8 with Storable 2.15 failed
> > > perl-5.8.8 with Storable 2.51 passes
> > > perl-5.8.9 with Storable 2.19 passes
> > > 
> > > So I'd suggest to make Storable version 2.19 a minimal requirement:  
> > 
> > Typo here, I think you meant 2.16 not 2.19.
> 
> I meant 2.19, as that is the first version after the failing 2.15 that
> appeared in a stable perl. That implies that it is much harder to test
> against 2.16 than it is to test against 2.19
> 
> Additionally, Storable 2.51 installs flawless on 5.8.8, I I made the
> safer jump from 2.15 to 2.19 instead of to 2.16 which I did not test
> 
> If you agree with 2.19 because of this reasoning, I'll commit that
> change with some comment

Yes, thanks!

Tim.


Re: DBI-git on perl-5.8.8

2017-09-18 Thread Tim Bunce
On Mon, Sep 18, 2017 at 11:46:34AM +0200, H.Merijn Brand wrote:
> On Mon, 18 Sep 2017 11:19:08 +0200, "H.Merijn Brand"
>  wrote:
> 
> > Makefile.PL states MIN_PERL_VERSION => '5.008', so I am still in the
> > supported range.
> > 
> > My cause for digging is
> > 
> > Tie-Hash-DBD-0.16:
> > - x86_64-linux-ld / 5.8.8:
> >   - FAIL
> > http://www.cpantesters.org/cpan/report/b06ed2c0-9b4b-11e7-b9b4-ee532540c4eb
> > 
> > When I wanted to make sure it is not already fixed by module
> > updatesperl5.8.8 Makefile.PL
> > 
> > (and my requirements are too low), I noticed

Looks like the failures relate to the recent the unicode changes.

> This is fixed by updating Storable, so the minimum requirement for
> Storable's version is too low (or in our case, not required at all)
> 
> perl-5.8.8 with Storable 2.15 failed
> perl-5.8.8 with Storable 2.51 passes
> perl-5.8.9 with Storable 2.19 passes
> 
> So I'd suggest to make Storable version 2.19 a minimal requirement:

Typo here, I think you meant 2.16 not 2.19.

> Agree?

Yeap.

Thanks for looking after this!

Tim.


[perl5-dbi/dbi] 13228e: Bump version. Update Changes. Fix stray char in po...

2017-08-14 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 13228e89fec085502fd3f1e63803b5741340c2be
  
https://github.com/perl5-dbi/dbi/commit/13228e89fec085502fd3f1e63803b5741340c2be
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-08-14 (Mon, 14 Aug 2017)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Bump version. Update Changes. Fix stray char in pod.




[perl5-dbi/dbi] f70f31: Fix DBI documentation about eval { } usage

2017-08-14 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: f70f31d8455e342f3d79e8a72d401dce71a8ee03
  
https://github.com/perl5-dbi/dbi/commit/f70f31d8455e342f3d79e8a72d401dce71a8ee03
  Author: Pali <p...@cpan.org>
  Date:   2017-08-13 (Sun, 13 Aug 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Fix DBI documentation about eval { } usage

Explanation at: https://metacpan.org/pod/Try::Tiny#might-not-be-a-true-value


  Commit: 93faa5dfdc840306b4733f64c123f8d9f6f92f19
  
https://github.com/perl5-dbi/dbi/commit/93faa5dfdc840306b4733f64c123f8d9f6f92f19
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-08-13 (Sun, 13 Aug 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Use Try::Tiny for some examples using eval.


Compare: https://github.com/perl5-dbi/dbi/compare/a43696a9673d...93faa5dfdc84

[perl5-dbi/dbi] f70f31: Fix DBI documentation about eval { } usage

2017-08-14 Thread Tim Bunce
  Branch: refs/heads/pr/39
  Home:   https://github.com/perl5-dbi/dbi
  Commit: f70f31d8455e342f3d79e8a72d401dce71a8ee03
  
https://github.com/perl5-dbi/dbi/commit/f70f31d8455e342f3d79e8a72d401dce71a8ee03
  Author: Pali <p...@cpan.org>
  Date:   2017-08-13 (Sun, 13 Aug 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Fix DBI documentation about eval { } usage

Explanation at: https://metacpan.org/pod/Try::Tiny#might-not-be-a-true-value


  Commit: 93faa5dfdc840306b4733f64c123f8d9f6f92f19
  
https://github.com/perl5-dbi/dbi/commit/93faa5dfdc840306b4733f64c123f8d9f6f92f19
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-08-13 (Sun, 13 Aug 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Use Try::Tiny for some examples using eval.


Compare: https://github.com/perl5-dbi/dbi/compare/f70f31d8455e^...93faa5dfdc84

[perl5-dbi/dbi] a43696: Allow $sth NAME_* attributes to be set from perl c...

2017-08-14 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: a43696a9673d402726191fd96a9410f9d49df779
  
https://github.com/perl5-dbi/dbi/commit/a43696a9673d402726191fd96a9410f9d49df779
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-08-13 (Sun, 13 Aug 2017)

  Changed paths:
M DBI.xs
M t/06attrs.t

  Log Message:
  ---
  Allow $sth NAME_* attributes to be set from perl code

Relates to https://github.com/perl5-dbi/dbi/issues/45




[perl5-dbi/dbi] 79b2c9: Add cautionary note to prepare_cached docs re refs...

2017-08-13 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 79b2c9ca86a65a78c3fa6d5a5b73137819db38a7
  
https://github.com/perl5-dbi/dbi/commit/79b2c9ca86a65a78c3fa6d5a5b73137819db38a7
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-08-13 (Sun, 13 Aug 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Add cautionary note to prepare_cached docs re refs in %attr

Closes #46




[perl5-dbi/dbi] b9a569: .travis.yml: add more perls to test with

2017-08-07 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: b9a5693447a1a374fb3bdc86e71f0d53c1371a5e
  
https://github.com/perl5-dbi/dbi/commit/b9a5693447a1a374fb3bdc86e71f0d53c1371a5e
  Author: Jens Rehsack <s...@netbsd.org>
  Date:   2017-07-04 (Tue, 04 Jul 2017)

  Changed paths:
M .travis.yml

  Log Message:
  ---
  .travis.yml: add more perls to test with

Add some more perls for testing, especially 5.8

Signed-off-by: Jens Rehsack <s...@netbsd.org>


  Commit: fa0b0f45d9c0f22a60a0eb073c2fe9352a87c745
  
https://github.com/perl5-dbi/dbi/commit/fa0b0f45d9c0f22a60a0eb073c2fe9352a87c745
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-08-06 (Sun, 06 Aug 2017)

  Changed paths:
M .travis.yml

  Log Message:
  ---
  Merge pull request #50 from rehsack/test_on_more_perls

.travis.yml: add more perls to test with


Compare: https://github.com/perl5-dbi/dbi/compare/87e16ac0d1a0...fa0b0f45d9c0

[perl5-dbi/dbi] 9ba7b0: test SvOK() before copying Statement to the parent...

2017-08-07 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 9ba7b04eadecea344f94234dd693ed52902a13a3
  
https://github.com/perl5-dbi/dbi/commit/9ba7b04eadecea344f94234dd693ed52902a13a3
  Author: Kenichi Ishigaki <ishig...@cpan.org>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  test SvOK() before copying Statement to the parent handle

- so that SvOK(*statement_svp) around line 4021 can reliably pass.


  Commit: d63454cbfba2f95f410583705c92de074a9e45cb
  
https://github.com/perl5-dbi/dbi/commit/d63454cbfba2f95f410583705c92de074a9e45cb
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-08-06 (Sun, 06 Aug 2017)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Merge pull request #34 from charsbar/fix_copy_statement_to_parent

test SvOK() before copying Statement to the parent handle


Compare: https://github.com/perl5-dbi/dbi/compare/fa0b0f45d9c0...d63454cbfba2

[perl5-dbi/dbi] cf0e54: Remove unused $HAS_WEAKEN var and setup

2017-06-03 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: cf0e5425453279f75efc1ea69aba1e2cf41bd6c1
  
https://github.com/perl5-dbi/dbi/commit/cf0e5425453279f75efc1ea69aba1e2cf41bd6c1
  Author: Yves Orton <demer...@gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Remove unused $HAS_WEAKEN var and setup

I think this check is now done in XS and not in Perl. The var
is lexcially scoped and not used in the code.


  Commit: ed4bf79053bc9363b721d6a970b806fb719149b0
  
https://github.com/perl5-dbi/dbi/commit/ed4bf79053bc9363b721d6a970b806fb719149b0
  Author: Yves Orton <demer...@gmail.com>
  Date:   2017-06-01 (Thu, 01 Jun 2017)

  Changed paths:
M DBI.pm
M t/10examp.t

  Log Message:
  ---
  Allow objects to be used as passwords without throwing an error.

I want to secure my passwords from being dumped in things like
stack traces by putting them in blessed objects with string overloading
so that only modules of my choosing, like DBI can actually read the
actual contents.

Unfortunately this is not possible because the DBI perl code
dies if the password argument is a ref. This patch changes this logic
to not die if the ref is blessed.

Apparently this restriction on password type is untested, so this patch
adds tests for both blessed and unblessed refs.


  Commit: 87e16ac0d1a036591189e02ce6238d7cffa888b5
  
https://github.com/perl5-dbi/dbi/commit/87e16ac0d1a036591189e02ce6238d7cffa888b5
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-06-02 (Fri, 02 Jun 2017)

  Changed paths:
M DBI.pm
M t/10examp.t

  Log Message:
  ---
  Merge pull request #40 from demerphq/master

Remove block that prevents a reference $password argument. Clean up 
Scalar::Util usage.


Compare: https://github.com/perl5-dbi/dbi/compare/515c66ef5315...87e16ac0d1a0

[perl5-dbi/dbi] c3d7a1: Fix disappearing $_ inside callbacks.

2017-06-01 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: c3d7a1a41d2572d79f245ea8ef04a6272e055a11
  
https://github.com/perl5-dbi/dbi/commit/c3d7a1a41d2572d79f245ea8ef04a6272e055a11
  Author: Rob Schaber <robscha...@gmail.com>
  Date:   2017-05-23 (Tue, 23 May 2017)

  Changed paths:
M DBI.xs
M t/70callbacks.t

  Log Message:
  ---
  Fix disappearing $_ inside callbacks.


  Commit: 515c66ef53154bfa4e745ed986c428b5d68b314e
  
https://github.com/perl5-dbi/dbi/commit/515c66ef53154bfa4e745ed986c428b5d68b314e
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
M DBI.xs
M t/70callbacks.t

  Log Message:
  ---
  Merge pull request #47 from robschaber/master

Fix disappearing $_ inside callbacks.


Compare: https://github.com/perl5-dbi/dbi/compare/4f3c17e2c3e6...515c66ef5315

[perl5-dbi/dbi] c6d410: Fix crashing when calling warn() and croak() funct...

2017-06-01 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: c6d410d1bafa6876e6a346a2727217fa2c3feb30
  
https://github.com/perl5-dbi/dbi/commit/c6d410d1bafa6876e6a346a2727217fa2c3feb30
  Author: Pali <p...@cpan.org>
  Date:   2017-02-14 (Tue, 14 Feb 2017)

  Changed paths:
M DBI.xs
M dbipport.h

  Log Message:
  ---
  Fix crashing when calling warn() and croak() functions

Functions warn() and croak() take first parameter printf-like format.
Arbitrary string can cause perl crash when contains one or more '%'.

Format "%s" should be used to pass abitrary string parameter.


  Commit: b8b101438731de40b89d339208fe9606cfcbe68d
  
https://github.com/perl5-dbi/dbi/commit/b8b101438731de40b89d339208fe9606cfcbe68d
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
M DBI.xs
M dbipport.h

  Log Message:
  ---
  Merge pull request #44 from pali/format

Fix risk of crashing via printf when calling warn() and croak() functions


Compare: https://github.com/perl5-dbi/dbi/compare/ad36110ff5a2...b8b101438731

[perl5-dbi/dbi] 0d5b6c: Fixes Pod typo

2017-06-01 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 0d5b6c6cd09969f08e70a1b813d149d142228576
  
https://github.com/perl5-dbi/dbi/commit/0d5b6c6cd09969f08e70a1b813d149d142228576
  Author: Olaf Alders <o...@wundersolutions.com>
  Date:   2017-02-02 (Thu, 02 Feb 2017)

  Changed paths:
M lib/DBI/ProfileData.pm

  Log Message:
  ---
  Fixes Pod typo


  Commit: ecaa03d6b000a7d32b4ce39e2234293afdf64fe3
  
https://github.com/perl5-dbi/dbi/commit/ecaa03d6b000a7d32b4ce39e2234293afdf64fe3
  Author: Olaf Alders <o...@wundersolutions.com>
  Date:   2017-02-02 (Thu, 02 Feb 2017)

  Changed paths:
M lib/DBI/ProfileData.pm

  Log Message:
  ---
  Adds links to more module names in Pod.


  Commit: 4f3c17e2c3e6c11d5ff2aaf1c4ba1c86e5cb1d8f
  
https://github.com/perl5-dbi/dbi/commit/4f3c17e2c3e6c11d5ff2aaf1c4ba1c86e5cb1d8f
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2017-05-29 (Mon, 29 May 2017)

  Changed paths:
M lib/DBI/ProfileData.pm

  Log Message:
  ---
  Merge pull request #43 from oalders/master

Pod fixes in DBI::ProfileData


Compare: https://github.com/perl5-dbi/dbi/compare/b8b101438731...4f3c17e2c3e6

Re: RFC: Official DBI for Perl 6

2016-12-08 Thread Tim Bunce
On Wed, Nov 23, 2016 at 05:06:39PM -0800, Darren Duncan wrote:
> This message is an RFC regarding Perl 6 and my proposed official successor
> there for the current Perl 5 "DBI" module, and in particular for usage of
> the "DBI" namespace.

> I believe that now is the time for a serious look at having an official
> "DBI" for Perl 6.

It's always been that time :)  I disagree about "an" and "official" though.

I'd much prefer to see some real discussion (i.e. more than one person
actively involved) and some real code, rather than cannonize any vaporware
or any particular early experiments.

I think it's fair to say that the DBI has been reasonably successful.
That was due, in part, to the fact several people spent a good year or
so discussing and designing the spec, then spent another year or so
refining it as we worked on prototypes (DBI and DBD::Oracle).

> I have already been working on a "Perl 6 DBI" or "Plack for databases" for
> awhile now, and in a few weeks I should be ready to show it off for
> evaluation. But in the meantime, I was hoping to get Tim Bunce and other
> community stakeholders on board with its philosophy and get a blessing to
> use the name "DBI" for it.

Nope. Sorry.

My position, FWIW, is the same as it was in this thread from Feb 2015:
http://markmail.org/message/oavyl5l4dlme5dft

which refers to this presentation:
http://www.slideshare.net/Tim.Bunce/perl6-dbdi-yapceu-201008

> In this message I will outline a few main points to start off the
> discussion, and other details can follow in the near future.

> That is, the new "DBI" would actually just be an API
> specification document for a duck-typing/etc API that conforming libraries
> and applications would implement for themselves.

Which is also true for the "DBDI" proposed in the presentation.

It's an interface definition that follows closely the JDBC API.
(Which is mature, well documented, with a test suite, lots of books,
lots of people with experience, and maps well to underlying database
client library APIs. All *very* significant plusses.)

There's no need for any implementation of a DBDI interface to share code
with any other.

> Does this sound like a proposal you can get behind,

You don't need me to get behind it. Write some code, get people to help,
build a team then a community.

Anyone else can do the same.

Give it any name you like for now. You can always rename it if it gains
traction. (The DBI was called DBperl for the first couple of years.)

> is it okay to use "DBI" for the name reserved for the specification

There's no need for that. I think I'd prefer if nothing used "DBI".
(Except, one day, something that provided a very-DBI-like API over
whatever has been adopted by the wider community as a database API.)
Using it now, on an unproven experiment, seems like a poor idea.

> do you have any questions or counter-proposals, and so on?

Write some code, get people to help, build a team. Give it any name you
like. Write a test suite. Release early, release often. Make it correct
and make it fast.  Have fun.  Good luck!  :)

Tim.


[perl5-dbi/dbi] 5fe7e0: Small POD changes (Getting Help -> Online)

2016-11-09 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 5fe7e01a25662b4dbfaa8e3215056041633561e6
  
https://github.com/perl5-dbi/dbi/commit/5fe7e01a25662b4dbfaa8e3215056041633561e6
  Author: Pete Houston <githubdevt...@openstrike.co.uk>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Small POD changes (Getting Help -> Online)


  Commit: e6656c4315d6da316aad7b5c76e85dd12933bb4e
  
https://github.com/perl5-dbi/dbi/commit/e6656c4315d6da316aad7b5c76e85dd12933bb4e
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-11-09 (Wed, 09 Nov 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #33 from openstrike/podfix

Removed reference to cpanforum from Getting Help - Online docs


Compare: https://github.com/perl5-dbi/dbi/compare/a9fe17ef7ab4...e6656c4315d6

[perl5-dbi/dbi] dbba28: Added support for DBD::XMLSimple

2016-11-09 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: dbba28ef6009360f739a0f8f8146f6fb4dc8e33b
  
https://github.com/perl5-dbi/dbi/commit/dbba28ef6009360f739a0f8f8146f6fb4dc8e33b
  Author: Nigel Horne <n...@bandsman.co.uk>
  Date:   2016-11-08 (Tue, 08 Nov 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Added support for DBD::XMLSimple


  Commit: 6513e6d87463671907485f991b60ad2b9a1ee697
  
https://github.com/perl5-dbi/dbi/commit/6513e6d87463671907485f991b60ad2b9a1ee697
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-11-09 (Wed, 09 Nov 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #38 from nigelhorne/master

Added support for DBD::XMLSimple


Compare: https://github.com/perl5-dbi/dbi/compare/02b90b60d6f8...6513e6d87463

[perl5-dbi/dbi] 8fcfaa: fix typo

2016-11-09 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 8fcf271a3247c92f37d1f3ed82c552650a00
  
https://github.com/perl5-dbi/dbi/commit/8fcf271a3247c92f37d1f3ed82c552650a00
  Author: Sergiy Borodych <sergiy.borod...@gmail.com>
  Date:   2016-10-20 (Thu, 20 Oct 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  fix typo


  Commit: a9fe17ef7ab4abc64909abbb5b2e251486b7
  
https://github.com/perl5-dbi/dbi/commit/a9fe17ef7ab4abc64909abbb5b2e251486b7
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-11-09 (Wed, 09 Nov 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #37 from bor/patch-1

fix typo in selectrow_arrayref docs


Compare: https://github.com/perl5-dbi/dbi/compare/6513e6d87463...a9fe17ef7ab4

[perl5-dbi/dbi] 3910d7: Fix compilation for threaded perl <= 5.12

2016-04-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 3910d765d89226ba3cc6a4cb5bc14a394d1b28f4
  
https://github.com/perl5-dbi/dbi/commit/3910d765d89226ba3cc6a4cb5bc14a394d1b28f4
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-24 (Sun, 24 Apr 2016)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Fix compilation for threaded perl <= 5.12


  Commit: c80663b24f31b278d8822ba7e329670eace735c7
  
https://github.com/perl5-dbi/dbi/commit/c80663b24f31b278d8822ba7e329670eace735c7
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-24 (Sun, 24 Apr 2016)

  Changed paths:
M .travis.yml

  Log Message:
  ---
  Add 5.22 and 5.22-extras to travis-ci config


Compare: https://github.com/perl5-dbi/dbi/compare/1ba40acc1c90...c80663b24f31

[perl5-dbi/dbi] 505f41: Output perl version and archname in t/01basics.t

2016-04-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 505f41c060435b24036bbf47aa04c6c54c64cbd1
  
https://github.com/perl5-dbi/dbi/commit/505f41c060435b24036bbf47aa04c6c54c64cbd1
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-24 (Sun, 24 Apr 2016)

  Changed paths:
M t/01basics.t

  Log Message:
  ---
  Output perl version and archname in t/01basics.t


  Commit: 11a79b55ca04a532e001d280083b9d82c25c9626
  
https://github.com/perl5-dbi/dbi/commit/11a79b55ca04a532e001d280083b9d82c25c9626
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-24 (Sun, 24 Apr 2016)

  Changed paths:
M t/16destroy.t

  Log Message:
  ---
  Change t/16destroy.t to avoid race hazard


  Commit: eec7913a435ce3926a0854a79a55b48e77921875
  
https://github.com/perl5-dbi/dbi/commit/eec7913a435ce3926a0854a79a55b48e77921875
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-24 (Sun, 24 Apr 2016)

  Changed paths:
M lib/DBI/PurePerl.pm

  Log Message:
  ---
  Revert PurePerl DESTROY behaviour change. Delete CachedKids regardless.


  Commit: d07e637bb58e0308c52315efd233c5697a1db15c
  
https://github.com/perl5-dbi/dbi/commit/d07e637bb58e0308c52315efd233c5697a1db15c
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-24 (Sun, 24 Apr 2016)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Bump version to 1.636 and update Changes


Compare: https://github.com/perl5-dbi/dbi/compare/c80663b24f31...d07e637bb58e

[perl5-dbi/dbi] a96f34: Corrected doc example to use dbi: instead of DBI: ...

2016-04-24 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: a96f348c9c699a14f75877999dd50e9a5b6d25c7
  
https://github.com/perl5-dbi/dbi/commit/a96f348c9c699a14f75877999dd50e9a5b6d25c7
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-23 (Sat, 23 Apr 2016)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Corrected doc example to use dbi: instead of DBI: in DSN. RT#101181


  Commit: da0380c1f902a36f6db4a4730a3d57a5279274b3
  
https://github.com/perl5-dbi/dbi/commit/da0380c1f902a36f6db4a4730a3d57a5279274b3
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-23 (Sat, 23 Apr 2016)

  Changed paths:
M MANIFEST
M MANIFEST.SKIP

  Log Message:
  ---
  Update MANIFEST & MANIFEST.SKIP


  Commit: 1ba40acc1c901738b05e3eabb81fac723011cb62
  
https://github.com/perl5-dbi/dbi/commit/1ba40acc1c901738b05e3eabb81fac723011cb62
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-24 (Sun, 24 Apr 2016)

  Changed paths:
M Changes
M DBI.pm
M t/lib.pl

  Log Message:
  ---
  Bump version to 1.635 and update Changes

Also avoid warning in t/lib.pl


Compare: https://github.com/perl5-dbi/dbi/compare/d8a2319330a8...1ba40acc1c90

[perl5-dbi/dbi] e29af9: Skip unicode PrintError/RaiseError test for perl <...

2016-04-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: e29af98d70647b46f71baf481b54f07b11e5ca14
  
https://github.com/perl5-dbi/dbi/commit/e29af98d70647b46f71baf481b54f07b11e5ca14
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-23 (Sat, 23 Apr 2016)

  Changed paths:
M t/91_store_warning.t

  Log Message:
  ---
  Skip unicode PrintError/RaiseError test for perl < 5.14


  Commit: 103ac3262000354837ffc0badfb0d8a05ead30d5
  
https://github.com/perl5-dbi/dbi/commit/103ac3262000354837ffc0badfb0d8a05ead30d5
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-23 (Sat, 23 Apr 2016)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Avoid compile-time error for unicode support in old perls


  Commit: d8a2319330a8582c841e66b34e3c1c882a799e2e
  
https://github.com/perl5-dbi/dbi/commit/d8a2319330a8582c841e66b34e3c1c882a799e2e
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-23 (Sat, 23 Apr 2016)

  Changed paths:
M DBI.xs

  Log Message:
  ---
  Avoid risk of segv during global destruction


Compare: https://github.com/perl5-dbi/dbi/compare/7af2dd71efc5...d8a2319330a8

[perl5-dbi/dbi] df9b14: Fix cases where ShowErrorStatement might not show ...

2016-04-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: df9b142f13831f4b8e6970492c6d6d4fa0ac311e
  
https://github.com/perl5-dbi/dbi/commit/df9b142f13831f4b8e6970492c6d6d4fa0ac311e
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-23 (Sat, 23 Apr 2016)

  Changed paths:
M Changes
M DBI.xs

  Log Message:
  ---
  Fix cases where ShowErrorStatement might not show correct Statement

Also add trace log for set_err_sv when HandleSetErr isn't set




[perl5-dbi/dbi] 3fe737: Update Changes to reflect recent changes

2016-04-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 3fe737da7227fa5ece595eedde53a360f902f03e
  
https://github.com/perl5-dbi/dbi/commit/3fe737da7227fa5ece595eedde53a360f902f03e
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M Changes

  Log Message:
  ---
  Update Changes to reflect recent changes




[perl5-dbi/dbi] c8ed89: Update Changes

2016-04-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: c8ed899d3961dd8eb230dea32f6a19a357bc6659
  
https://github.com/perl5-dbi/dbi/commit/c8ed899d3961dd8eb230dea32f6a19a357bc6659
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M Changes

  Log Message:
  ---
  Update Changes




[perl5-dbi/dbi] 156412: Update Changes to reflect recent changes

2016-04-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 15641290dcf4eb586f03860115dcc7309bc0af54
  
https://github.com/perl5-dbi/dbi/commit/15641290dcf4eb586f03860115dcc7309bc0af54
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M Changes

  Log Message:
  ---
  Update Changes to reflect recent changes


  Commit: 71802a1e9968c16d00c83b5431d349535abafe12
  
https://github.com/perl5-dbi/dbi/commit/71802a1e9968c16d00c83b5431d349535abafe12
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M Changes
M DBI.xs

  Log Message:
  ---
  Fixed "panic: attempt to copy freed scalar" upon commit() or rollback()

Switched call_method("STORE", G_DISCARD); to use G_VOID.
Also switched two other call_method's (finish & DESTROY) from G_DISCARD to 
G_VOID.


Compare: https://github.com/perl5-dbi/dbi/compare/3fe737da7227...71802a1e9968

[perl5-dbi/dbi] f6b4aa: Removed the ancient DBI::FAQ module RT#102714

2016-04-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: f6b4aa514c74082cfeefd79dc53165624425407c
  
https://github.com/perl5-dbi/dbi/commit/f6b4aa514c74082cfeefd79dc53165624425407c
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M Changes
R lib/DBI/FAQ.pm

  Log Message:
  ---
  Removed the ancient DBI::FAQ module RT#102714


  Commit: 35b21183d7c63556b3d7e1ad0c4afcae9f5be331
  
https://github.com/perl5-dbi/dbi/commit/35b21183d7c63556b3d7e1ad0c4afcae9f5be331
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M Changes
M t/pod.t

  Log Message:
  ---
  Fixed t/pod.t to require Test::Pod >= 1.41 RT#101769


  Commit: c42a57961a74b210ae9466db2ee0aefb6d7ac2ff
  
https://github.com/perl5-dbi/dbi/commit/c42a57961a74b210ae9466db2ee0aefb6d7ac2ff
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M dbipport.h

  Log Message:
  ---
  Update dbipport.h from ppport.h 3.20 to 3.32


  Commit: cd4eb34c296c5b81905c44b74b097b3618d66249
  
https://github.com/perl5-dbi/dbi/commit/cd4eb34c296c5b81905c44b74b097b3618d66249
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-22 (Fri, 22 Apr 2016)

  Changed paths:
M DBI.xs
M t/91_store_warning.t

  Log Message:
  ---
  Report PrintError/RaiseError via warn_sv/croak_sv for UTF-8. RT#102404


Compare: https://github.com/perl5-dbi/dbi/compare/71802a1e9968...cd4eb34c296c

[perl5-dbi/dbi] 6a2331: Fixed spelling errors in pod. RT#107838

2016-04-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 6a2331719771cdfb913abc1abdc634aa58d5dc69
  
https://github.com/perl5-dbi/dbi/commit/6a2331719771cdfb913abc1abdc634aa58d5dc69
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M dbiproxy.PL
M lib/DBI/DBD.pm
M lib/DBI/DBD/SqlEngine.pm
M lib/DBI/DBD/SqlEngine/Developers.pod
M lib/DBI/DBD/SqlEngine/HowTo.pod
M lib/DBI/ProxyServer.pm

  Log Message:
  ---
  Fixed spelling errors in pod. RT#107838

Thanks to Gregor Herrmann.


  Commit: 3d3fd6c193ed9b62472fd6c6d3396415762385f4
  
https://github.com/perl5-dbi/dbi/commit/3d3fd6c193ed9b62472fd6c6d3396415762385f4
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M DBI.pm
M t/10examp.t

  Log Message:
  ---
  Add $dbh->selectall_array method. RT#106411


Compare: https://github.com/perl5-dbi/dbi/compare/66b7b4502194...3d3fd6c193ed

[perl5-dbi/dbi] 8f6011: Fix gofer.t test failures due to utf8-enabled STDI...

2016-04-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 8f6011c4143908e0bb60d8d7039f0b7c4d72cbcc
  
https://github.com/perl5-dbi/dbi/commit/8f6011c4143908e0bb60d8d7039f0b7c4d72cbcc
  Author: Lukas Mai <l@web.de>
  Date:   2016-02-13 (Sat, 13 Feb 2016)

  Changed paths:
M lib/DBI/Gofer/Transport/pipeone.pm

  Log Message:
  ---
  Fix gofer.t test failures due to utf8-enabled STDIN/STDOUT


  Commit: 66b7b4502194334f268eade7310dabbe79c40fe1
  
https://github.com/perl5-dbi/dbi/commit/66b7b4502194334f268eade7310dabbe79c40fe1
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M lib/DBI/Gofer/Transport/pipeone.pm

  Log Message:
  ---
  Fix gofer.t test failures due to utf8-enabled STDIN/STDOUT PR#32 from 
mauke/master


Compare: https://github.com/perl5-dbi/dbi/compare/49b330e4d1d7...66b7b4502194

[perl5-dbi/dbi] 179fc5: add appveyor: CI for Windows, like Travis

2016-04-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 179fc531afa51f7c42df4b11b4aea68559c0fb38
  
https://github.com/perl5-dbi/dbi/commit/179fc531afa51f7c42df4b11b4aea68559c0fb38
  Author: Michiel Beijen <michiel.bei...@gmail.com>
  Date:   2015-10-26 (Mon, 26 Oct 2015)

  Changed paths:
A appveyor.yml

  Log Message:
  ---
  add appveyor: CI for Windows, like Travis


  Commit: ad2c11ea6e5f4b3fc7e4c7b309eba8b6c425101d
  
https://github.com/perl5-dbi/dbi/commit/ad2c11ea6e5f4b3fc7e4c7b309eba8b6c425101d
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
A appveyor.yml

  Log Message:
  ---
  Add appveyor: CI for Windows, like Travis PR#30 from mbeijen/appveyor


Compare: https://github.com/perl5-dbi/dbi/compare/12dc64aeb48b...ad2c11ea6e5f

[perl5-dbi/dbi] 3c858f: Cease to ignore DESTROY of outer handle in DBI::Pu...

2016-04-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 3c858f7c4447cfcd7511972ea82194714bb27cdb
  
https://github.com/perl5-dbi/dbi/commit/3c858f7c4447cfcd7511972ea82194714bb27cdb
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M DBI.xs
M lib/DBI/PurePerl.pm
M t/16destroy.t

  Log Message:
  ---
  Cease to ignore DESTROY of outer handle in DBI::PurePerl


  Commit: 7a8ca531875faa4eb5aa747abae3ed6bcfa4d8f6
  
https://github.com/perl5-dbi/dbi/commit/7a8ca531875faa4eb5aa747abae3ed6bcfa4d8f6
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
A t/73cachedkids.t

  Log Message:
  ---
  Weaken CachedKids ref in attribute cache RT#113852


Compare: https://github.com/perl5-dbi/dbi/compare/48d1b48a0a0a...7a8ca531875f

[perl5-dbi/dbi] ad5b79: Weaken CachedKids ref in attribute cache, RT#11385...

2016-04-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: ad5b793dc6319d069a9d454e8e696b4207b0ca9d
  
https://github.com/perl5-dbi/dbi/commit/ad5b793dc6319d069a9d454e8e696b4207b0ca9d
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M DBI.xs
M lib/DBI/PurePerl.pm
A t/73cachedkids.t

  Log Message:
  ---
  Weaken CachedKids ref in attribute cache, RT#113852




[perl5-dbi/dbi] 046c7d: removed broken links from POD

2016-04-22 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 046c7dc8e9dcd75101dc7421d4ea0e7c9578166a
  
https://github.com/perl5-dbi/dbi/commit/046c7dc8e9dcd75101dc7421d4ea0e7c9578166a
  Author: Michiel Beijen <michiel.bei...@gmail.com>
  Date:   2015-10-26 (Mon, 26 Oct 2015)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  removed broken links from POD

Many of the links in the DBI POD were dead, some lead to malware or
spam websites. I tried to remove them where needed.


  Commit: 7661ae68043ccee5ca5b2adb72d188b9119f5dda
  
https://github.com/perl5-dbi/dbi/commit/7661ae68043ccee5ca5b2adb72d188b9119f5dda
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M DBI.xs
M lib/DBI/Profile.pm

  Log Message:
  ---
  Treat undef in Profile Path as "undef". Clarify docs. RT#113298


  Commit: 5378127e26be4afb52470b3aee070bc8f55087c7
  
https://github.com/perl5-dbi/dbi/commit/5378127e26be4afb52470b3aee070bc8f55087c7
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Update and/or remove broken links to SQL standards. RT#111437


  Commit: 12dc64aeb48b2f4f5d396a3a249a6763b3010e70
  
https://github.com/perl5-dbi/dbi/commit/12dc64aeb48b2f4f5d396a3a249a6763b3010e70
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-21 (Thu, 21 Apr 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Removed/updated broken links in docs.  Closes #29


Compare: https://github.com/perl5-dbi/dbi/compare/ad5b793dc631...12dc64aeb48b

[perl5-dbi/dbi] 48d1b4: Clarify docs for DBI::hash

2016-04-18 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 48d1b48a0a0a3f8994c616894772304b67b2d6eb
  
https://github.com/perl5-dbi/dbi/commit/48d1b48a0a0a3f8994c616894772304b67b2d6eb
  Author: Tim Bunce <tim.bu...@pobox.com>
  Date:   2016-04-17 (Sun, 17 Apr 2016)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Clarify docs for DBI::hash




[perl5-dbi/dbi] 6933f2: Update Changes. Bump version to 1.634

2015-08-03 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 6933f270d6115187b9c455a383ae8bc827cdd4db
  
https://github.com/perl5-dbi/dbi/commit/6933f270d6115187b9c455a383ae8bc827cdd4db
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-08-03 (Mon, 03 Aug 2015)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Update Changes. Bump version to 1.634




[perl5-dbi/dbi] e2ec3a: Rework support for 64bit row counts to rely on mac...

2015-08-03 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: e2ec3a3ab60c981f69b024ef802437e9912f7fd6
  
https://github.com/perl5-dbi/dbi/commit/e2ec3a3ab60c981f69b024ef802437e9912f7fd6
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-08-02 (Sun, 02 Aug 2015)

  Changed paths:
M Changes
M DBI.pm
M Driver.xst

  Log Message:
  ---
  Rework support for 64bit row counts to rely on macros only. Bump to 1.633_93




[perl5-dbi/dbi] c01588: Fix typo in Changes and clarify the wording a litt...

2015-08-03 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: c01588cc64f6f8269c7cab0dd048673fbc316c72
  
https://github.com/perl5-dbi/dbi/commit/c01588cc64f6f8269c7cab0dd048673fbc316c72
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-08-02 (Sun, 02 Aug 2015)

  Changed paths:
M Changes

  Log Message:
  ---
  Fix typo in Changes and clarify the wording a little.




[perl5-dbi/dbi] b2fba6: Add test case for RT#89015 - cannot record a warni...

2015-07-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: b2fba6adcb86d3e4f91f684253dce1b29be86211
  
https://github.com/perl5-dbi/dbi/commit/b2fba6adcb86d3e4f91f684253dce1b29be86211
  Author: Martin J. Evans git...@virginmedia.com
  Date:   2013-09-28 (Sat, 28 Sep 2013)

  Changed paths:
M Changes
M lib/DBD/NullP.pm
A t/91_store_warning.t

  Log Message:
  ---
  Add test case for RT#89015 - cannot record a warning in STORE method


  Commit: d4b402beb70db2ac90fb8de1c00eafb9cda136f6
  
https://github.com/perl5-dbi/dbi/commit/d4b402beb70db2ac90fb8de1c00eafb9cda136f6
  Author: Martin J. Evans git...@virginmedia.com
  Date:   2013-09-28 (Sat, 28 Sep 2013)

  Changed paths:
M lib/DBD/NullP.pm
M t/91_store_warning.t

  Log Message:
  ---
  Change test for rt#89015 to use the value passed to STORE


  Commit: ac1e47caa27e61c740698827813e01d6e6055dd2
  
https://github.com/perl5-dbi/dbi/commit/ac1e47caa27e61c740698827813e01d6e6055dd2
  Author: Martin J. Evans git...@virginmedia.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
A .gdbinit
M .gitignore
M .travis.yml
M Changes
M DBI.pm
M DBI.xs
M Driver.xst
A LICENSE
M Makefile.PL
M dbd_xsh.h
M lib/Bundle/DBI.pm
M lib/DBD/ExampleP.pm
M lib/DBD/File.pm
M lib/DBD/Gofer.pm
M lib/DBD/Multiplex.pm
M lib/DBD/NullP.pm
M lib/DBD/Proxy.pm
M lib/DBD/Sponge.pm
M lib/DBI/Const/GetInfo/ANSI.pm
M lib/DBI/Const/GetInfo/ODBC.pm
M lib/DBI/DBD.pm
M lib/DBI/DBD/Metadata.pm
M lib/DBI/DBD/SqlEngine.pm
M lib/DBI/DBD/SqlEngine/HowTo.pod
M lib/DBI/FAQ.pm
M lib/DBI/Profile.pm
M lib/DBI/ProxyServer.pm
M lib/DBI/PurePerl.pm
M lib/Win32/DBIODBC.pm
M t/06attrs.t
M t/08keeperr.t
M t/10examp.t
M t/19fhtrace.t
M t/31methcache.t
M t/35thrclone.t
M t/40profile.t
M t/42prof_data.t
M t/49dbd_file.t
A t/53sqlengine_adv.t
M t/70callbacks.t

  Log Message:
  ---
  merge conflicts and get upto date with upstream


  Commit: bc297ab947b30a02308cb2f4bcbfd60c39cf9361
  
https://github.com/perl5-dbi/dbi/commit/bc297ab947b30a02308cb2f4bcbfd60c39cf9361
  Author: Martin J. Evans git...@virginmedia.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
M dbd_xsh.h
M t/91_store_warning.t

  Log Message:
  ---
  Add 91_store_warning.t test for rt89015


  Commit: 9806e8d1c2a657646a98afb27bf7765129d265cb
  
https://github.com/perl5-dbi/dbi/commit/9806e8d1c2a657646a98afb27bf7765129d265cb
  Author: Martin J. Evans git...@virginmedia.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
M DBI.pm
M lib/DBD/NullP.pm
M t/10examp.t

  Log Message:
  ---
  Fix quote_identifier when passed ('catalog',undef,undef) and add tests for 
special tables calls


  Commit: 80b92d238db412f3426280a6e810e106ab6d9cfe
  
https://github.com/perl5-dbi/dbi/commit/80b92d238db412f3426280a6e810e106ab6d9cfe
  Author: Martin J. Evans git...@virginmedia.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
M Changes

  Log Message:
  ---
  update changes for quote_indentifier and NullP change


  Commit: bd78e39c884a76cdf79c76c65bd954d369c8b67f
  
https://github.com/perl5-dbi/dbi/commit/bd78e39c884a76cdf79c76c65bd954d369c8b67f
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
M Changes
A t/91_store_warning.t

  Log Message:
  ---
  Added test case 91_store_warning.t to illustrate rt#89015 [Martin J. Evans]


  Commit: 15635ebb4b9652fb72f3e97a330575cc8e89b3f5
  
https://github.com/perl5-dbi/dbi/commit/15635ebb4b9652fb72f3e97a330575cc8e89b3f5
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
M Changes
M DBI.pm
M lib/DBD/NullP.pm
M t/10examp.t

  Log Message:
  ---
  Fixed quote_identifier trailing separator when there was only a catalog 
(Martin J. Evans)

Also minor fix to DBD::NullP in fetchrow_arrayref which was calling _set_fbav 
incorrectly (Martin J. Evans)


  Commit: 9182df37ebfa1183bbcbdab5e37530b6a72bf2ea
  
https://github.com/perl5-dbi/dbi/commit/9182df37ebfa1183bbcbdab5e37530b6a72bf2ea
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Bunp version to 1.633_92 and tweak Changes


Compare: https://github.com/perl5-dbi/dbi/compare/f83d7963b2fd...9182df37ebfa

[perl5-dbi/dbi] 34a687: Revert Change return type of dbd_st_execute, dbd_...

2015-07-23 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 34a687654da157db5871065893e18ac2826b3c35
  
https://github.com/perl5-dbi/dbi/commit/34a687654da157db5871065893e18ac2826b3c35
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-21 (Tue, 21 Jul 2015)

  Changed paths:
M dbd_xsh.h

  Log Message:
  ---
  Revert Change return type of dbd_st_execute, dbd_st_rows, and dbd_db_do4 
from int to IV

This reverts commit 7b5a1d831740bdd121b301352e7b566e40181fa8.


  Commit: f83d7963b2fda52fd4fa3868c6c8717fabf28eb3
  
https://github.com/perl5-dbi/dbi/commit/f83d7963b2fda52fd4fa3868c6c8717fabf28eb3
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-22 (Wed, 22 Jul 2015)

  Changed paths:
M Driver.xst
M Perl.xs
M dbd_xsh.h
M lib/DBI/DBD.pm

  Log Message:
  ---
  Add dbd_db_do4_iv, dbd_st_rows_iv, dbd_st_execute_iv


Compare: https://github.com/perl5-dbi/dbi/compare/db4daeb3611f...f83d7963b2fd

[perl5-dbi/dbi] 7b5a1d: Change return type of dbd_st_execute, dbd_st_rows,...

2015-07-21 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 7b5a1d831740bdd121b301352e7b566e40181fa8
  
https://github.com/perl5-dbi/dbi/commit/7b5a1d831740bdd121b301352e7b566e40181fa8
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-21 (Tue, 21 Jul 2015)

  Changed paths:
M dbd_xsh.h

  Log Message:
  ---
  Change return type of dbd_st_execute, dbd_st_rows, and dbd_db_do4 from int to 
IV


  Commit: db4daeb3611f3f2549bf012422565564556f4608
  
https://github.com/perl5-dbi/dbi/commit/db4daeb3611f3f2549bf012422565564556f4608
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-21 (Tue, 21 Jul 2015)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Added support for tables('', '', '', '%') special case (Martin J. Evans)


Compare: https://github.com/perl5-dbi/dbi/compare/397c1be485b6...db4daeb3611f

Re: DBD::mysql Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-21 Thread Tim Bunce
On Tue, Jul 21, 2015 at 01:33:34PM +0100, Martin J. Evans wrote:
 Long, sorry.

No problem. The whole topic is a bit of a mess.

 On 20/07/15 18:00, Tim Bunce wrote:
 On Mon, Jul 20, 2015 at 02:54:53PM +0100, Martin J. Evans wrote:
 On 20/07/15 14:15, Tim Bunce wrote:
 
 I think that would work for me - I'm happy to test it our here if you want 
 to give it a go.
 
 IIRC, when this was last discussed the problem is that some drivers
 might not set DBIc_ROW_COUNT so you can't just use DBIc_ROW_COUNT.
 
 Hence the check that DBIc_ROW_COUNT is not zero. Since the DBI code sets
 it to zero before the call, if it's non-zero after the call we can be
 sure that the driver has set it.
 
 In fact, I just checked, and DBD::ODBC does not seem to call
 DBIc_ROW_COUNT other than to set it to 0 in ODBC.xsi (which is code
 from DBI anyway). Does that sound right?
 
 Nope. Is it setting the underlying structure member directly?
 
 no. All it does is it has a RowCount member in its own imp_sth_st structure 
 which is a SQLLEN (64 bits on 64 bit machines and 32 on 32). Then it:
 
 o dbd_db_execute returns the number of rows or -1 or -2 (error)
   At the end of dbd_st_execute if the affected rows is bigger than INT_MAX 
 and warnings are
   on, it warns the rowcount has been truncated and changes the row count to 
 INT_MAX.

That's reasonable. Hopefully we can do better though.

 o has odbc_st_rows (because it is defined in dbd_xsh.h and I believed
   you needed to implement most of these in the DBD) which casts the
   internal RowCount to an int as odbc_st_rows is defined as returning an int.

The DBI provides a default rows method, in C, that returns DBIc_ROW_COUNT.
So a driver that stores the row count in DBIc_ROW_COUNT doesn't need to
provide a rows method at all (if all it needs to do is return the count).

That translates into not defining the dbd_st_rows macro. If that's not
defined then the rows method in Driver.xst won't get compiled in so
there'll be no call to a driver-provided dbd_st_rows.

 DBD::ODBC also has its own odbc_rows which returns an IV to workaround this 
 issue in DBI when I found it back in 2012.

If DBD::ODBC switched to using DBIc_ROW_COUNT then you could remove
dbd_st_rows/odbc_rows.  (It seems unlikely that sizeof(IV) would ever me
less than sizeof(SQLLEN) but that might be worth an assertion anyway.)


 Looking at 'do' in DBI.pm it just does:
 
 sub do {
   my($dbh, $statement, $attr, @params) = @_;
   my $sth = $dbh-prepare($statement, $attr) or return undef;
   $sth-execute(@params) or return undef;
   my $rows = $sth-rows;
   ($rows == 0) ? 0E0 : $rows;
 }
 
 so doesn't that just end up in dbd_st_rows?

Assuming the driver is using that default do() method, then it'll
end up in dbd_st_rows if the driver has defined a dbd_st_rows macro,
else it'll end up in the DBI's default rows() method.

 If a driver is supposed to set DBIc_ROW_COUNT I'd rather change the
 drivers I maintain to do that especially since in ODBC and 64bit
 SQLRowCount already returns a 64 bit value.
 
 Yeap. That's best.
 
 See above, I don't see how that fits in right now.

Is the only outstanding issue now the 'int' return type on some various
dbd_st_* functions?

 I tried to check my assumptions and this is what I found:
 
 o DBD::ODBC has its own 'do' method because it can use SQLExecDirect instead 
 of prepare/execute. This returns the rows affected correctly as it returns an 
 SV created from the SQLLEN RowCount. So, the do method in DBI (shown above) 
 is neither here nor there for DBD::ODBC.
 
 o DBD::ODBC has a dbd_st_rows which seems to get called if someone calls the 
 rows method.
 dbd_st_rows is defined in dbd_xsh.h as returning an int so this is wrong.

And can simply be removed, per the above.

 o 'execute' or dbd_st_execute returns the rows and is again defined in 
 dbd_xsh as returning an int.
 
 I don't see where DBIc_ROW_COUNT comes in unless you are saying every time a 
 DBD discovers the row count it should call DBIc_ROW_COUNT macro.

DBIc_ROW_COUNT is just a macro for an IV in the imp_sth structure. Most,
if not all, compiled drivers that aren't using DBIc_ROW_COUNT are simply
using their own integer element in the imp_sth structure. In the case of
DBD::Pg that's declared as a plain int type.

So I'd hope and expect a driver can simply use DBIc_ROW_COUNT _instead of_
whatever it's currently using.

 I also noticed something I should have seen before: dbd_st_rows() is
 defined as returning an int. I _think_ it would be safe to change the
 definition to returning an IV since it's only used internally by drivers
 via the Driver.xst template file that does:
 
  XST_mIV(0, dbd_st_rows(sth, imp_sth));
 
 Unless I'm missing something I think that will break most drivers as when I 
 grepped cpan I found most drivers implement dbd_st_rows as:
 
 int dbd_st_rows {
   code
 }

[Sigh] I'm getting a bit rusty at C. I'd forgotten that hurdle.
The int return type affects dbd_st_execute

Re: DBD::mysql Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-20 Thread Tim Bunce
On Mon, Jul 20, 2015 at 08:55:40AM +0100, Martin J. Evans wrote:
 On 19/07/15 15:41, Tim Bunce wrote:
 
 Please also see the issue I reported in DBI back in 2012:
 
 https://rt.cpan.org/Ticket/Display.html?id=81911
 
 I had to add various workarounds and a warning to DBD::ODBC.

Ah, thanks for the reminder Martin! I'll add a comment on that case.

Any thoughts about the general principle of changing the XS execute to
return the value of the DBIc_ROW_COUNT IV if the int returned by
dbd_st_execute is  0 and DBIc_ROW_COUNT  0?

Tim.


Re: DBD::mysql Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-20 Thread Tim Bunce
On Sun, Jul 19, 2015 at 06:39:59PM -0700, David E. Wheeler wrote:
 On Jul 19, 2015, at 7:41 AM, Tim Bunce tim.bu...@pobox.com wrote:
 
  Internally the DBI has a DBIc_ROW_COUNT(sth) macro that has an IV type.
  That's a signed int that would be 64 bits on most modern systems.
  On many of those systems the plain int type might be 32 bits.
  
  I've just pushed an experimental change that might help in general
  https://github.com/perl5-dbi/dbi/commit/29f6b9b76e9c637be31cb80f1a262ff68b42ef43#diff-cb6af96fe009d6f8d9d682415e1ab755
  but probably wouldn't in your case.
 
 Huh. Why not?

That change just adds a warning.

  At the moment I'd view this as a DBD::mysql bug.

The assignment of signed values to unsigned types in DBD::mysql ought to
be fixed.

  p.s. These open DBD::mysql issues might also be more or less related:
  https://rt.cpan.org/Public/Bug/Display.html?id=48158
  https://rt.cpan.org/Public/Bug/Display.html?id=80394
  https://rt.cpan.org/Public/Bug/Display.html?id=75570
 
 Given that these have had exactly 0 activity in three years, how should we go 
 about getting thins on the maintaners’ radar?

I don't know. The repo is managed by the perl5-dbi org on github.
https://github.com/perl5-dbi/DBD-mysql so in theory any of the team
members https://github.com/orgs/perl5-dbi/people could commit patches.
Patrick Galbraith, the primary maintainer (CC'd) seems fairly active at
the moment so I'd start by asking Patrick for his thoughts.

 Also, is there something I can do in Sqitch to work around this issue?

I'm not sure. It's possible that a HandleSetError handler could help
https://metacpan.org/pod/DBI#HandleSetErr

(It's also possible that I'm misreading the cause as I'm not clear how
the -2 becomes a -1 but I gave up looking further after seeing the
problems with the current DBD::mysql code.)

Tim.


Re: DBD::mysql Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-20 Thread Tim Bunce
On Mon, Jul 20, 2015 at 02:54:53PM +0100, Martin J. Evans wrote:
 On 20/07/15 14:15, Tim Bunce wrote:
 
 I think that would work for me - I'm happy to test it our here if you want to 
 give it a go.
 
 IIRC, when this was last discussed the problem is that some drivers
 might not set DBIc_ROW_COUNT so you can't just use DBIc_ROW_COUNT.

Hence the check that DBIc_ROW_COUNT is not zero. Since the DBI code sets
it to zero before the call, if it's non-zero after the call we can be
sure that the driver has set it.

 In fact, I just checked, and DBD::ODBC does not seem to call
 DBIc_ROW_COUNT other than to set it to 0 in ODBC.xsi (which is code
 from DBI anyway). Does that sound right?

Nope. Is it setting the underlying structure member directly?

 If a driver is supposed to set DBIc_ROW_COUNT I'd rather change the
 drivers I maintain to do that especially since in ODBC and 64bit
 SQLRowCount already returns a 64 bit value.

Yeap. That's best.

 Is there some docs on that or perhaps you could just tell me or point
 me at a driver that does it correctly.

No docs, sadly. And I'm not aware of any drivers that do.

I took a look at DBD:Pg and that uses it's own 'rows' structure
member which is defined as an int, and int is used in the code.

I also noticed something I should have seen before: dbd_st_rows() is
defined as returning an int. I _think_ it would be safe to change the
definition to returning an IV since it's only used internally by drivers
via the Driver.xst template file that does:

XST_mIV(0, dbd_st_rows(sth, imp_sth));

 I'm having a frustrating day so far so perhaps have lost the ability to read 
 diffs and C but in your change at
 https://github.com/perl5-dbi/dbi/commit/29f6b9b76e9c637be31cb80f1a262ff68b42ef43#diff-cb6af96fe009d6f8d9d682415e1ab755
 
 if retval0 (checked above)  I don't see where the checked above bit is.
 it looks like:
 if (retval == 0)
   ..
 else if (retval == -1)
   ..
 else if (retval = -2)
   ..
 else
   new stuff here
   retval could still be negative just not -1 or -2

The else if (retval = -2) covers other negative values, doesn't it?

 Also, maybe a little picky but the comment and DBIc_ROW_COUNT0 does not 
 match the code.

Yeah, I was in two minds about that. I'll use DBIc_ROW_COUNT0 in
practice, but !=0 seemed a better fit for the experimental warning.

 If no DBDs use DBIc_ROW_COUNT then that warning you've put in will do
 nothing. I'd like to see a driver which does use DBIc_ROW_COUNT and if
 there are none I'm happy to change DBD::ODBC initially to a) test the
 diff you just applied and b) test the suggested fix.

That would be great. Thank you Martin!

Tim.


Re: DBD::mysql Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-20 Thread Tim Bunce
On Mon, Jul 20, 2015 at 06:00:53PM +0100, Tim Bunce wrote:
 On Mon, Jul 20, 2015 at 02:54:53PM +0100, Martin J. Evans wrote:
 
 I also noticed something I should have seen before: dbd_st_rows() is
 defined as returning an int. I _think_ it would be safe to change the
 definition to returning an IV since it's only used internally by drivers
 via the Driver.xst template file that does:
 
 XST_mIV(0, dbd_st_rows(sth, imp_sth));

Ah. The same logic also means I could change the return type of
dbd_st_execute and dbd_db_do4, which also would help.

Tim.


[perl5-dbi/dbi] 4a3aa0: Remove redundant double initialization of $imp_dat...

2015-07-19 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 4a3aa00b418a4b3f05ca22f2446e6cacaa39f35f
  
https://github.com/perl5-dbi/dbi/commit/4a3aa00b418a4b3f05ca22f2446e6cacaa39f35f
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-18 (Sat, 18 Jul 2015)

  Changed paths:
M lib/DBD/Multiplex.pm

  Log Message:
  ---
  Remove redundant double initialization of $imp_data_size (from #22)


  Commit: cc8ea78d42534dd528c43347a3c012d6892acfc1
  
https://github.com/perl5-dbi/dbi/commit/cc8ea78d42534dd528c43347a3c012d6892acfc1
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-18 (Sat, 18 Jul 2015)

  Changed paths:
M LICENSE

  Log Message:
  ---
  Update LICENSE with as perl itself verbiage.

Per https://github.com/perl5-dbi/dbi/pull/21#issuecomment-121189243


  Commit: 4e32a83d3309de83e53a2b205fbf7242eaee0ab2
  
https://github.com/perl5-dbi/dbi/commit/4e32a83d3309de83e53a2b205fbf7242eaee0ab2
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-18 (Sat, 18 Jul 2015)

  Changed paths:
M Changes

  Log Message:
  ---
  Update Changes for DBI 1.634


Compare: https://github.com/perl5-dbi/dbi/compare/5aaf17432a84...4e32a83d3309

[perl5-dbi/dbi] 29f6b9: Improve handling of row count on 32bit int systems...

2015-07-19 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 29f6b9b76e9c637be31cb80f1a262ff68b42ef43
  
https://github.com/perl5-dbi/dbi/commit/29f6b9b76e9c637be31cb80f1a262ff68b42ef43
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-19 (Sun, 19 Jul 2015)

  Changed paths:
M DBI.xs
M Driver.xst

  Log Message:
  ---
  Improve handling of row count on 32bit int systems, add sanity check warn

See http://perl.markmail.org/thread/bt5udyje4kzgcnkm
and https://github.com/theory/sqitch/issues/235


  Commit: 397c1be485b60f6469fae5481b216151d1db937b
  
https://github.com/perl5-dbi/dbi/commit/397c1be485b60f6469fae5481b216151d1db937b
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-07-19 (Sun, 19 Jul 2015)

  Changed paths:
M Changes
M DBI.pm

  Log Message:
  ---
  Update Changes. Bump version 1.633_91


Compare: https://github.com/perl5-dbi/dbi/compare/4e32a83d3309...397c1be485b6

DBD::mysql Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-19 Thread Tim Bunce
On Thu, Jul 16, 2015 at 10:46:35AM -0700, David E. Wheeler wrote:
 On Jul 16, 2015, at 6:40 AM, Tim Bunce tim.bu...@pobox.com wrote:
 
  Well, this contains lots more light! ...
  
  - dbd_st_execute for 03fdf4e0
  parse_params statement 
 SELECT c.change_id ...
  
  Binding parameters: SELECT c.change_id
  
 -- do_error
  Out of sort memory, consider increasing server sort buffer size error 
  1038 recorded: Out of sort memory, consider increasing server sort buffer 
  size
 -- do_error
  - dbd_st_execute returning imp_sth-row_num 18446744073709551615
 !! ERROR: 1038 'Out of sort memory, consider increasing server sort 
  buffer size' (err#0)
 - execute= ( -1 ) [1 items] at /usr/lib/perl5/DBI.pm line 1632 via  
  at /usr/local/share/perl/5.18.2/App/Sqitch/Role/DBIEngine.pm line 149
  
  So execute failed. Note the crazy row_num. Execute seems to have
  returned -1, which is a true value.
  
 !! The ERROR '1038' was CLEARED by call to fetchrow_hashref method
 - fetchrow_hashref for DBD::mysql::st 
  (DBI::st=HASH(0x42cfcc0)~0x4231cf8) thr#2603010
  
  Then the higher-level code called fetchrow_hashref, which cleared the
  error recorded by execute().
 
 FWIW, the database handle is created like this:
 
 my $dbh = DBI-connect($uri-dbi_dsn, scalar $self-username, $pass, {
 PrintError   = 0,
 RaiseError   = 0,
 AutoCommit   = 1,
 mysql_enable_utf8= 1,
 mysql_auto_reconnect = 0,
 mysql_use_result = 0, # Prevent Commands out of sync error.
 HandleError  = sub {
 my ($err, $dbh) = @_;
 $@ = $err;
 @_ = ($dbh-state || 'DEV' = $dbh-errstr);
 goto hurl;
 },
 
 Context: 
 https://github.com/theory/sqitch/blob/master/lib/App/Sqitch/Engine/mysql.pm#L59
 
 So I’m a little confused as to why the execute failure was ignored. Is this 
 an issue with DBD::mysql?

Note the row_num 18446744073709551615 above, that's -1 as an unsigned 64 bit 
long.

DBD::mysql's handling of row_num seems less than ideal (prompted in part by
baggage of the DBI's ancient driver API).

int dbd_st_execute(SV* sth, imp_sth_t* imp_sth) == XXX int (forced by DBI API)
{
  ...
  imp_sth-row_num= mysql_st_internal_execute(...) == row_num is declared as 
my_ulonglong
  ...
  if (imp_sth-row_num+1 != (my_ulonglong)-1) { ... } == XXX
  ...
  ...
sprintf(actual_row_num, %llu, imp_sth-row_num);
PerlIO_printf(DBIc_LOGPIO(imp_xxh),  - dbd_st_execute returning 
imp_sth-row_num %s\n, actual_row_num);
  }
  return (int)imp_sth-row_num; # == XXX
}

my_ulonglong mysql_st_internal_execute(...) == unsigned
{
  my_ulonglong rows= 0; == unsigned
 
if (!slen) {
  do_error(h, JW_ERR_QUERY, Missing table name ,NULL);
  return -2; == signed
}
if (!(table= malloc(slen+1))) {
  do_error(h, JW_ERR_MEM, Out of memory ,NULL);
  return -2; == signed
}
 
if (!(*result)) {
  do_error(h, mysql_errno(svsock), 
mysql_error(svsock),mysql_sqlstate(svsock));
  return -2; == signed
}
 
  if(rows == -2) { == signed
do_error(h, mysql_errno(svsock), mysql_error(svsock), 
 mysql_sqlstate(svsock));
if (DBIc_TRACE_LEVEL(imp_xxh) = 2)
  PerlIO_printf(DBIc_LOGPIO(imp_xxh), IGNORING ERROR errno %d\n, errno);
rows = -2; == signed
  }
  return(rows);
}

mysql_st_internal_execute41(...) has very similar issues

Looks to me like you've hit some latent bugs in the DBD::mysql code (e.g., it's
not safe/reliable to throw negative numbers around in unsigned types) compounded
by the limitations of the ancient DBI driver API:
https://github.com/perl5-dbi/dbi/blob/1486773ec0bf357661d756cf37ff2988b5eaf24d/Driver.xst#L585-L601

Seems like there's a need to separate row count from execute return value.

Internally the DBI has a DBIc_ROW_COUNT(sth) macro that has an IV type.
That's a signed int that would be 64 bits on most modern systems.
On many of those systems the plain int type might be 32 bits.

I've just pushed an experimental change that might help in general
https://github.com/perl5-dbi/dbi/commit/29f6b9b76e9c637be31cb80f1a262ff68b42ef43#diff-cb6af96fe009d6f8d9d682415e1ab755
but probably wouldn't in your case.

At the moment I'd view this as a DBD::mysql bug.

Tim.

p.s. These open DBD::mysql issues might also be more or less related:
https://rt.cpan.org/Public/Bug/Display.html?id=48158
https://rt.cpan.org/Public/Bug/Display.html?id=80394
https://rt.cpan.org/Public/Bug/Display.html?id=75570


Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-16 Thread Tim Bunce
On Wed, Jul 15, 2015 at 10:49:45AM -0700, David E. Wheeler wrote:
 On Jul 14, 2015, at 3:24 AM, Tim Bunce tim.bu...@pobox.com wrote:
 
  I can't see anything obvious from this trace. Come back with a level 4
  trace and hopefully that'll shed sufficient light.
 
 Here we go.
 
  $ DBI_TRACE=4 sqitch status

Well, this contains lots more light! ...

   - dbd_st_execute for 03fdf4e0
  parse_params statement 
  SELECT c.change_id ...

  Binding parameters: SELECT c.change_id

  -- do_error
  Out of sort memory, consider increasing server sort buffer size error 1038 
  recorded: Out of sort memory, consider increasing server sort buffer size
  -- do_error
   - dbd_st_execute returning imp_sth-row_num 18446744073709551615
  !! ERROR: 1038 'Out of sort memory, consider increasing server sort 
  buffer size' (err#0)
  - execute= ( -1 ) [1 items] at /usr/lib/perl5/DBI.pm line 1632 via  at 
  /usr/local/share/perl/5.18.2/App/Sqitch/Role/DBIEngine.pm line 149

So execute failed. Note the crazy row_num. Execute seems to have
returned -1, which is a true value.

  !! The ERROR '1038' was CLEARED by call to fetchrow_hashref method
  - fetchrow_hashref for DBD::mysql::st 
  (DBI::st=HASH(0x42cfcc0)~0x4231cf8) thr#2603010

Then the higher-level code called fetchrow_hashref, which cleared the
error recorded by execute().

Then it all goes downhill from there.

Tim.

  1   - mysql_async_ready for DBD::mysql::st (DBI::st=HASH(0x4231cf8)~INNER) 
  thr#2603010
  -- do_error
  Handle is not in asynchronous mode error 2000 recorded: Handle is not in 
  asynchronous mode
  -- do_error
  !! ERROR: 2000 'Handle is not in asynchronous mode' (err#0)
  1   - mysql_async_ready= ( undef ) [1 items] at 
  /usr/local/lib/perl/5.18.2/DBD/mysql.pm line 864 via  at 
  /usr/local/share/perl/5.18.2/App/Sqitch/Role/DBIEngine.pm line 116
  1   - FETCH for DBD::mysql::st (DBI::st=HASH(0x4231cf8)~INNER 'NAME') 
  thr#2603010
  - dbd_st_FETCH_attrib for 03fdf4e0, key NAME
  -- do_error
  statement contains no result error 4 recorded: statement contains no result
  -- do_error
  !! ERROR: 4 'statement contains no result' (err#0)
  1   - FETCH= ( undef ) [1 items] at 
  /usr/local/lib/perl/5.18.2/DBD/mysql.pm line 867 via  at 
  /usr/local/share/perl/5.18.2/App/Sqitch/Role/DBIEngine.pm line 116
  !! The ERROR '4' was CLEARED by call to fetch method
  1   - fetch for DBD::mysql::st (DBI::st=HASH(0x4231cf8)~INNER) thr#2603010
  - dbd_st_fetch
  dbd_st_fetch for 04243568, chopblanks 0
  -- do_error
  fetch() without execute() error 19 recorded: fetch() without execute()
  -- do_error
  !! ERROR: 19 'fetch() without execute()' (err#0)


Re: Why is selectrow_hashref complaining about a fetch without execute?

2015-07-14 Thread Tim Bunce
On Mon, Jul 13, 2015 at 03:53:43PM -0700, David E. Wheeler wrote:
DBIers,
Got a complaint about a “fetch() without execute()” error. Asked for a 
 trace, got this. Looks like
it’s coming from selectrow_hashref()? That shouldn’t happen, right?
 
  $ DBI_TRACE=1 sqitch status

Trace level 1 is handy when you just want a summary of what's going on.
If something odd is happening then you'd want at least trace level 2
so you see the method _calls_ as well as the _returns_.
For investigating mysterious happenings then higher trace levels,
like 4 thru 15, are more appropriate. 4 is usually sufficient.

I can't see anything obvious from this trace. Come back with a level 4
trace and hopefully that'll shed sufficient light.

Tim.

  - STORE('dbi_connect_closure', CODE(0x1c11b10))= ( 1 ) [1 items] at 
 DBI.pm line 742
  - FETCH('mysql_serverinfo')= ( '5.6.17-0ubuntu0.14.04.1-log' ) [1 
 items] at mysql.pm line 106
  - FETCH('mysql_serverversion')= ( '50617' ) [1 items] at mysql.pm line 
 109
  !! The ERROR '1038' was CLEARED by call to fetchrow_hashref method
  !! The ERROR '4' was CLEARED by call to fetch method
 ERROR: 19 'fetch() without execute()' (err#0)
  - DESTROY(DBI::st=HASH(0x2ae9638))= ( undef ) [1 items] at DBI.pm line 
 1639
  !! ERROR: 19 'fetch() without execute()' (err#0)
  - selectrow_hashref('
  SELECT c.change_id ...
   , c.planned_a...', undef, ...)= ( undef ) [1 items] at 
 DBIEngine.pm line 116
  - HandleError on DBI::db=HASH(0x2b9ea48) via CODE(0x278aa80) (undef)
  - $DBI::state= 'S1000'
  - $DBI::state= 'S1000'
  - $DBI::state= 'S1000'
  - $DBI::state= 'S1000'
  - $DBI::state= 'S1000'
  !! The ERROR '19' was CLEARED by call to selectcol_arrayref method
  - DESTROY(DBI::st=HASH(0x2ae94b8))= ( undef ) [1 items] at mysql.pm 
 line 218
  - selectcol_arrayref('
  SELECT COUNT(*)
FROM information_schema.tables
   WHERE table_schema = ?
 AND table_name   = ?
  ', undef, ...)= ( [ '1' ] ) [1 items] at mysql.pm line 218
  - DESTROY(DBI::db=HASH(0x2b9ea48))= ( undef ) [1 items] at Tiny.pm line 
 88
  fetch() without execute()
  - disconnect_all= ( ) [0 items] (not implemented) at DBI.pm line 750
  !   - DESTROY(DBI::dr=HASH(0x1c119a8))= ( undef ) [1 items] during global 
 destruction
 
Thanks,
David
Reverse link: [1]unknown
 
 References
 
Visible links
1. https://github.com/theory/sqitch/issues/235#issuecomment-120180277




Re: table_info('','','','%') cannot return any types

2015-06-25 Thread Tim Bunce
On Thu, Jun 25, 2015 at 11:08:14AM +0100, Martin J. Evans wrote:
 On 24/06/15 13:24, Tim Bunce wrote:
 
 The tables('', '', '', '%') call is a special case so it seems
 reasonable to handle it as a special case in the code.
 
 diff --git a/DBI.pm b/DBI.pm
 [...]

 adds a special case, passes DBI tests for me and passes my testing. There is 
 no need to quote the type as the DB should accept what it passed out.
 
 tables('','','','%') now returns (for my ODBC DB):
 SYSTEM TABLE
 TABLE
 VIEW
 
 and no other calls to tables should be affected.

Great. Thanks Martin.

Tim.


Re: table_info('','','','%') cannot return any types

2015-06-24 Thread Tim Bunce
On Tue, Jun 23, 2015 at 09:12:16AM +0100, Martin J. Evans wrote:
 I was recently confirming table_info special cases and discovered the case 
 for getting table_types cannot work.
 
 table_info('','','','%')
 
 should return a list of table types but it returns a list of empty strings 
 instead:
 
 my @types = $h-tables('', '', '', '%');
 print all types:\n, join(xxx\n, @types), \n;
 # should output something like:
 # dbo
 # INFORMATION_SCHEMA
 # sys
 # and actually outputs:
 xxx
 xxx
 
 It seems to be down to the following in DBI.pm:
 
 sub tables {
   my ($dbh, @args) = @_;
   my $sth= $dbh-table_info(@args[0,1,2,3,4]) or return;
   my $tables = $sth-fetchall_arrayref or return;
   my @tables;
   if ($dbh-get_info(29)) { # SQL_IDENTIFIER_QUOTE_CHAR
 # problem is missing 3 in the slice below
   @tables = map { $dbh-quote_identifier( @{$_}[0,1,2] ) } @$tables;
   }
 
 My test case missed this because currently it is returning 3 values but they 
 are all ''.
 
 Adding 3 to the slice fixes the issue but unfortunately changes the data 
 returned from the deprecated tables method which now returns values like this:
 
 master.dbo.DBD_ODBC_LOB_TEST.TABLE
 
 instead of (before)
 
 master.dbo.DBD_ODBC_LOB_TEST
 
 table_info is ok because it returns a result set and not a set of values 
 pushed through quote_identifier.

Thanks for the great analysis Martin.

 Any comments?

The tables('', '', '', '%') call is a special case so it seems
reasonable to handle it as a special case in the code.

Tim.


[perl5-dbi/dbi] 563a17: Remove redundant keys() call in fetchall_arrayref ...

2015-06-21 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 563a178d81c7328ba4eb4da75451664a00ba3430
  
https://github.com/perl5-dbi/dbi/commit/563a178d81c7328ba4eb4da75451664a00ba3430
  Author: Dagfinn Ilmari Mannsåker ilm...@ilmari.org
  Date:   2015-06-21 (Sun, 21 Jun 2015)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Remove redundant keys() call in fetchall_arrayref with hash slice


  Commit: 8ac7dae07504a52eebe526c80bef3875040e8562
  
https://github.com/perl5-dbi/dbi/commit/8ac7dae07504a52eebe526c80bef3875040e8562
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-06-21 (Sun, 21 Jun 2015)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  Merge pull request #24 from ilmari/remove-redundant-keys-call

Remove redundant keys() call in fetchall_arrayref with hash slice


Compare: https://github.com/perl5-dbi/dbi/compare/7acd82b3ab58...8ac7dae07504

[perl5-dbi/dbi] 2d4aa9: add a license file

2015-05-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 2d4aa9ffab4e129e16a63049cc92e6819ee8cfd2
  
https://github.com/perl5-dbi/dbi/commit/2d4aa9ffab4e129e16a63049cc92e6819ee8cfd2
  Author: Jose Luis Perez Diez jl...@escomposlinux.org
  Date:   2015-05-25 (Mon, 25 May 2015)

  Changed paths:
A LICENSE

  Log Message:
  ---
  add a license file


  Commit: f0f60039c87d4bdbd26101bf657f769c4ddc7116
  
https://github.com/perl5-dbi/dbi/commit/f0f60039c87d4bdbd26101bf657f769c4ddc7116
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-05-26 (Tue, 26 May 2015)

  Changed paths:
A LICENSE

  Log Message:
  ---
  Merge pull request #21 from jluis/cpanprjluis

Add a LICENSE file


Compare: https://github.com/perl5-dbi/dbi/compare/e4e0a3891122...f0f60039c87d

[perl5-dbi/dbi] ff0d29: Enable strictures on all lib/ files

2015-05-26 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: ff0d29468771988b5e71d4db9591573294f9d7a0
  
https://github.com/perl5-dbi/dbi/commit/ff0d29468771988b5e71d4db9591573294f9d7a0
  Author: Jose Luis Perez Diez jl...@escomposlinux.org
  Date:   2015-05-26 (Tue, 26 May 2015)

  Changed paths:
M lib/Bundle/DBI.pm
M lib/DBD/ExampleP.pm
M lib/DBD/Multiplex.pm
M lib/DBD/NullP.pm
M lib/DBD/Sponge.pm
M lib/DBI/Const/GetInfo/ANSI.pm
M lib/DBI/Const/GetInfo/ODBC.pm
M lib/DBI/DBD.pm
M lib/DBI/DBD/Metadata.pm
M lib/DBI/FAQ.pm
M lib/Win32/DBIODBC.pm

  Log Message:
  ---
  Enable strictures on all lib/ files

looks like some of the packages didn't use strict because Perl 5.005_03
but minimum version is 5.008 now

Signed-off-by: Jose Luis Perez Diez jl...@escomposlinux.org


  Commit: e4e0a3891122be954164337605126874063db6b9
  
https://github.com/perl5-dbi/dbi/commit/e4e0a3891122be954164337605126874063db6b9
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-05-26 (Tue, 26 May 2015)

  Changed paths:
M lib/Bundle/DBI.pm
M lib/DBD/ExampleP.pm
M lib/DBD/Multiplex.pm
M lib/DBD/NullP.pm
M lib/DBD/Sponge.pm
M lib/DBI/Const/GetInfo/ANSI.pm
M lib/DBI/Const/GetInfo/ODBC.pm
M lib/DBI/DBD.pm
M lib/DBI/DBD/Metadata.pm
M lib/DBI/FAQ.pm
M lib/Win32/DBIODBC.pm

  Log Message:
  ---
  Merge pull request #22 from jluis/cpanprjluis2

Enable strictures on all lib/ files


Compare: https://github.com/perl5-dbi/dbi/compare/706609e89f96...e4e0a3891122

password will expire Re: proposed DBD::Oracle patch for ORA-28002

2015-05-06 Thread Tim Bunce
On Tue, May 05, 2015 at 07:42:14AM -0600, J.D. Laub wrote:
I'd like to propose a small enhancement to DBD::Oracle.

However, when I connect via DBI using an oracle wallet (SEPS) entry, that 
 information is never
presented.  I tracked the inconsistency to 
 DBD-Oracle-1.74/lib/DBD/Oracle.pm , line 309:
 
309 unless (length $user_only) {
310 $user_only = $dbh-selectrow_array(q{
311 SELECT SYS_CONTEXT('userenv','session_user') FROM 
 DUAL
312 })||'';
313 $dbh_inner-{Username} = $user_only;
314 # these two are just for backwards compatibility
315 $dbh_inner-{USER} = $dbh_inner-{CURRENT_USER} = uc 
 $user_only;
316 }

That 'uc' looks suspicious to me, but that would be a pre-existing issue.

I'm thinking maybe it should save off the existing values for those 3 
 attributes, run the query, and
then append the old values onto those resulting from the selectrow_array.  
 (Technically that would leave
them in the wrong order - with the selectrow_array info ahead of the 
 connect info - but maybe that's not
important.)  The attached patch rather clumsily does that, and has 
 resolved the problem in my
environment.  I'm happy to revise the patch - just tell me where it's 
 lacking.

   unless (length $user_only) {
 + # It may be we've already encountered a warning by this point,
 + # such as ORA-28002: the password will expire within %d days.
 + # We'll cache it for reinstatement.
 + my ($err, $errstr, $state) =
 + ($dbh-err, $dbh-errstr, $dbh-state);
   $user_only = $dbh-selectrow_array(q{
   SELECT SYS_CONTEXT('userenv','session_user') FROM DUAL
   })||'';
 + # Now we'll reinstate the earlier warning.  We're just
 + # appending it, so in the extremeley unlikely case that the
 + # selectrow_array we just issued also issued a warning, the
 + # 2 warnings will appear out of order.
 + $dbh-set_err($err, $errstr, $state) if defined $err;

Looks ok to me.

Tim.


Re: DBI, PR 18

2015-05-05 Thread Tim Bunce
On Tue, May 05, 2015 at 02:28:34PM +0200, Jens Rehsack wrote:
 Hi Tim,
 
 because I got interrupted the entire day by several events, I took it as a 
 sign to merge my reviewed PR and review the others. 
 https://github.com/perl5-dbi/dbi/pull/18 looks simple and sane to me, any 
 objections to merge it and mention it in Changes?

Yes - after tweaking per ribasushi's comment.

Thanks Jens!

Tim.


Re: AnyData2/DBD::AnyData2 co-maint

2015-04-24 Thread Tim Bunce
On Fri, Apr 24, 2015 at 04:49:15PM +0200, H.Merijn Brand wrote:
 On Fri, 24 Apr 2015 09:19:03 -0500, David Nicol davidn...@cpan.org
 wrote:
 
  I look forward to being able to brag that DBIx::bind_param_inline is
  Approved by the Berlin DBI Committee or equivalent.
 
 As there is no, never was, nor will there be a Berlin DBI Committee
 feel free to brag as you wish :P
 
 What *will* be published is a document with advisories on how module
 authors are expected to behave once there modules are hot.
 
 The document will have three levels of advice
 
 * New modules should do/have/follow/...
 
 * Modules that are heavily depended on should do/have/follow/...
 
 * Core- and toolchain modules should do/have/follow/...
 
 The document is there to serve a list of Best Practices and make the
 module authors maintainers and co-maintainer be more aware of what
 their changes might/will cause downriver.

And, hopefully, has no particular reference to the DBI beyond simply
being an example of a heavily depdened on module, like many others.

Tim.


Re: Data::ShortNameProvider implementation

2015-04-18 Thread Tim Bunce
On Sat, Apr 18, 2015 at 09:58:05AM +0200, Philippe Bruhat (BooK) wrote:
 On Thu, Apr 16, 2015 at 05:58:27PM +0200, Philippe Bruhat (BooK) wrote:
  Hi,
  
  So after about a year of waiting, and with IRC feedback from TIMB,
  I've finally implemented a first version of Data::ShortNameProvider:
  
  https://github.com/book/Data-ShortNameProvider
  
  It's not on CPAN yet, but I plan to release it before the end of the QA
  Hackathon if nobody here objects.
  
 
 It has now been published on CPAN:
 https://metacpan.org/pod/Data::ShortNameProvider

Great. Thanks Book!

Tim.


[perl5-dbi/dbi] 3bf1c1: fix method name verification to support numbers

2015-03-20 Thread Tim Bunce
  Branch: refs/heads/master
  Home:   https://github.com/perl5-dbi/dbi
  Commit: 3bf1c1a00860b253c2db608e8d076f490bcbe149
  
https://github.com/perl5-dbi/dbi/commit/3bf1c1a00860b253c2db608e8d076f490bcbe149
  Author: Jens Rehsack s...@netbsd.org
  Date:   2015-03-17 (Tue, 17 Mar 2015)

  Changed paths:
M DBI.pm

  Log Message:
  ---
  fix method name verification to support numbers

in prefixes.


  Commit: 0be053dfe89b963323b2d931872771c6513c712a
  
https://github.com/perl5-dbi/dbi/commit/0be053dfe89b963323b2d931872771c6513c712a
  Author: Jens Rehsack s...@netbsd.org
  Date:   2015-03-18 (Wed, 18 Mar 2015)

  Changed paths:
M lib/DBD/File.pm
M lib/DBI/DBD/SqlEngine.pm
M lib/DBI/DBD/SqlEngine/HowTo.pod
M t/49dbd_file.t

  Log Message:
  ---
  introduce new_sql_engine_meta to PurePerl DBD's


  Commit: 71dc73bf6cdd22977cda8c38423b5d259b68a063
  
https://github.com/perl5-dbi/dbi/commit/71dc73bf6cdd22977cda8c38423b5d259b68a063
  Author: Tim Bunce tim.bu...@pobox.com
  Date:   2015-03-19 (Thu, 19 Mar 2015)

  Changed paths:
M DBI.pm
M lib/DBD/File.pm
M lib/DBI/DBD/SqlEngine.pm
M lib/DBI/DBD/SqlEngine/HowTo.pod
M t/49dbd_file.t

  Log Message:
  ---
  Merge pull request #19 from rehsack/master

Enhancements to support DBD::AnyData2


Compare: https://github.com/perl5-dbi/dbi/compare/478fc1ba7bcf...71dc73bf6cdd

  1   2   3   4   5   6   7   8   9   10   >