Re: Future of support for older Perl versions in DBI
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
> 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 <https://people.canonical.com/~ubuntu-security/cve/2020/CVE-2020-14392.html> says "An untrusted pointer dereference flaw was found in Perl-DBI < 1.643" (note the "<") The changes <https://metacpan.org/changes/distribution/DBI> 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 <mailto:leo.barb...@canonical.com>> > Date: Wed, Sep 16, 2020 at 8:15 AM > Subject: [USN-4503-1] Perl DBI module vulnerability > To: <mailto:ubuntu-security-annou...@lists.ubuntu.com>> > > > == > 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 <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.640-1ubuntu0.1> > https://launchpad.net/ubuntu/+source/libdbi-perl/1.634-1ubuntu0.1 > <https://launchpad.net/ubuntu/+source/libdbi-perl/1.634-1ubuntu0.1> > -- > ubuntu-security-announce mailing list > ubuntu-security-annou...@lists.ubuntu.com > <mailto:ubuntu-security-annou...@lists.ubuntu.com> > Modify settings or unsubscribe at: > https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce > <https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce> > > > -- > Jonathan Leffler <mailto:jonathan.leff...@gmail.com>> #include > Guardian of DBD::Informix - v2018.1031 - http://dbi.perl.org > <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
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]
Branch: refs/tags/1.643 Home: https://github.com/perl5-dbi/dbi
[perl5-dbi/dbi] 4a68c5: Bump VERSION to 1.643
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...
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()
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...
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
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()
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
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...
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()
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
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
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
> 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
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
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...
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
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
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
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.
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()
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
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...
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...
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
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
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
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
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.
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
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
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
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...
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...
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...
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
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
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
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
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
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" > <h.m.br...@xs4all.nl> 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...
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
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
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...
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...
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
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...
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
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.
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...
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
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
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)
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
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
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
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
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: ...
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 <...
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 ...
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
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
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
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
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
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...
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
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...
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...
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
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
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
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...
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...
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...
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_...
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,...
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?
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?
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?
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?
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?
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...
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...
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?
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?
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?
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
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
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 ...
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
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
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
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
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
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
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
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