7 years agoRelease v0.082840 v0.082840
Peter Rabbitson [Mon, 20 Jun 2016 06:59:28 +0000]
Release v0.082840

7 years agoRevert incorrectly backported fix for RT#102166 ( e8f23a77 )
Peter Rabbitson [Sun, 19 Jun 2016 11:31:33 +0000]
Revert incorrectly backported fix for RT#102166 ( e8f23a77 )

I dropped the ball on testing this one change, and of course it came back to
bite :/ Onwards to 0.082840

7 years agoRelease v0.082830
Peter Rabbitson [Sun, 19 Jun 2016 06:13:47 +0000]
Release v0.082830

7 years agoCouple more skips/clarifications (not applicable to master)
Peter Rabbitson [Sat, 18 Jun 2016 14:37:06 +0000]
Couple more skips/clarifications (not applicable to master)

7 years agoReally work around RT#108390 (630e2ea8a)
Peter Rabbitson [Thu, 10 Mar 2016 18:02:00 +0000]
Really work around RT#108390 (630e2ea8a)

( cherry-pick of 820a2936 )

A certain chain of events can still deadlock things without an explicit flush

7 years agoEnsure describe_environment does not break its output in half
Peter Rabbitson [Sun, 19 Jun 2016 05:48:27 +0000]
Ensure describe_environment does not break its output in half

( cherry-pick of 02154caf0 )

7 years agoRun xt/ tests on non-plain installs
Peter Rabbitson [Tue, 3 Nov 2015 14:32:08 +0000]
Run xt/ tests on non-plain installs

( cherry-pick of c26b30de and 554484cb )

FACEDESK: Module::Install::Makefile::tests_recursive() takes a single arg and
throws the rest away... I mean what the flying...

7 years agoPort t/00describe_environment as seen in master
Peter Rabbitson [Sat, 18 Jun 2016 10:07:36 +0000]
Port t/00describe_environment as seen in master

Not adding a dep - too obnoxious in a maint

7 years agoFix incorrect port of test skippage in 5e65042b
Peter Rabbitson [Sat, 18 Jun 2016 09:55:20 +0000]
Fix incorrect port of test skippage in 5e65042b

7 years agoSlight POD corrections
Peter Rabbitson [Sat, 18 Jun 2016 09:51:10 +0000]
Slight POD corrections

7 years agoThrow away taint test (it is kept in mainline 2ff029823 as xt/)
Peter Rabbitson [Fri, 17 Jun 2016 11:23:11 +0000]
Throw away taint test (it is kept in mainline 2ff029823 as xt/)

7 years agoFix ::Sybase::ASE incorrect attempt to retrieve an autoinc on blob inserts
Tina Mueller [Wed, 29 Jul 2015 14:36:28 +0000]
Fix ::Sybase::ASE incorrect attempt to retrieve an autoinc on blob inserts

( cherry-pick of b8e92dac9 )

This is a temporary fixup, will be better taken care of with the lobwriter
  --ribasushi

7 years agoAvoid infinite loop if save point does not exist
Paul Mooney [Thu, 10 Mar 2016 10:50:57 +0000]
Avoid infinite loop if save point does not exist

( cherry-pick of f5f0cb1dd )

7 years agoFix ordering by 1:M prefetched boolean columns in Pg
Dagfinn Ilmari Mannsåker [Wed, 10 Dec 2014 18:04:06 +0000]
Fix ordering by 1:M prefetched boolean columns in Pg

( cherry-pick of 7fe322c8d )

PostgreSQL doesn't have min/max aggregates for the boolean type, but
it has and/or, which are equivalent. So, allow the storage to override
the aggregate used for constructing the order by clause based on the
column info.

7 years agoFix *stupid* silencing of exceptions introduced in 4e9fc3f3
Peter Rabbitson [Wed, 30 Mar 2016 13:44:15 +0000]
Fix *stupid* silencing of exceptions introduced in 4e9fc3f3

( cherry-pick of b4976ee31 )

The reason this has not been detected is because it is virtually impossible
for the stock inflate_result() to throw, and pretty rare for custom ones.

ARGH!

7 years agoDetect and very loudly warn about Return::Multilevel in exception_action()
Peter Rabbitson [Tue, 2 Feb 2016 10:23:04 +0000]
Detect and very loudly warn about Return::Multilevel in exception_action()

( cherry-pick of 7cb3585200 )

7 years agoStop requiring explicit bindtype specification for non-scalar references
Peter Rabbitson [Tue, 3 Nov 2015 10:47:34 +0000]
Stop requiring explicit bindtype specification for non-scalar references

( cherry-pick of 0e3647497e )

As ilmari correctly pointed out this is not necessary, I am not sure why I
didn't catch this on review...

<ilmari> ribasushi: why does DBIC think every DBD needs speical attrs to bind non-scalar values?
<ilmari> DBD::Pg handles binding arrayrefs autmoatically
<ribasushi> ilmari: at the time this was written DBD::Pg *did not* auto-infer bindtype for arrays, that's a relatively new thing
<ribasushi> ilmari: hmmm... this does not seem to be the case, will dig deeper...

7 years agoApply debian downstream spelling patch 481e21bf
gregor herrmann [Sat, 13 Feb 2016 18:56:13 +0000]
Apply debian downstream spelling patch 481e21bf

( cherry-pick of 4b0a90fd5 )

7 years agoReally fix SQLite savepoints unlike the shortsighted 398215b1
Peter Rabbitson [Wed, 30 Mar 2016 18:24:49 +0000]
Really fix SQLite savepoints unlike the shortsighted 398215b1

( cherry-pick of 66c817df1 )

7 years agoFix spurious ROLLBACK statements when a TxnScopeGuard fails a deferred commit
Peter Rabbitson [Tue, 3 Nov 2015 12:23:52 +0000]
Fix spurious ROLLBACK statements when a TxnScopeGuard fails a deferred commit

( cherry-pick of 0bec44d5d7 )

This is a *temporary workaround*, and I am really unhappy about it... it just
feels wrong. See the comment in lib/DBIx/Class/Storage/TxnScopeGuard.pm

7 years agoFix missing handling of on_(dis)connect* failures
Peter Rabbitson [Fri, 3 Apr 2015 22:18:39 +0000]
Fix missing handling of on_(dis)connect* failures

( cherry-pick of b81538923 )

Time for a short story (see last paragraph for TL;DR): Some hours ago an
innocent question was asked in the #dbix-class channel, apparently
related to a mysterious failure to determine the RDBMS version. Before I
was able to properly investigate the problem, someone else piped up with
"Oh I've seen this before, and I worked around it". That was of course
without telling anyone else </headdesk>

After a little back and forth it became apparent that if the on_connect
settings could not be executed for whatever reason, the result may be an
implicitly failed connection attempt which is *entirely undetected* as
it leaves the original $dbh in place with some or all of the on_connect
instructions not having executed as expected.

To reiterate: if one manages to:
 * supply a malformed on_connect*
and then
 * call as the first order of business some codepath that can mask away
   the connection failure (say ->deploy under sqlite)
then the result is a $schema with a proper $dbh in the storage instance,
but *without* some (or all) of the on_connect instructions having been
executed. As a bonus the actual call to get e.g. the RDBMS metadata (like
version etc) will have failed completely silently as well. Arguably a
rather problematic bug.

The above and by extension an issue with silent on_disconnect* failures
are bith fixed by this commit. This was possible *only* because the
second person came into the channel and reported it, instead of silently
fixing things and moving on to whatever they were doing.

Moreover while preparing the (relatively modest) patch to fix this issue,
a small refactor revealed a pretty serious bug in the XS accessor provider
Class::XSAccessor: https://rt.cpan.org/Ticket/Display.html?id=103296
Yes, it took about 3 hours to diagnose this and hunt down an isolated
failcase, but the bug severety (and its elegance) are totally worth it.

Moral of the story: *PLEASE* report issues upstream. Even if you figured
out a quick workaround, the devs still need to know about the problem you
did encounter in the first place. Bugs that nobody knows about can *NOT*
be fixed, and our software commons can not improve. So *PLEASE* speak up.

7 years agoFix incorrect exception propagation in ::Replicated::execute_reliably
Peter Rabbitson [Wed, 30 Mar 2016 14:06:48 +0000]
Fix incorrect exception propagation in ::Replicated::execute_reliably

( cherry-pick of 67cbc0a817 )

The code makes no sense in its current state, lapse left in after 1abccf54

7 years agoFix annoying warnings on innocent looking MSSQL code
Peter Rabbitson [Fri, 1 Apr 2016 10:19:51 +0000]
Fix annoying warnings on innocent looking MSSQL code

( cherry-pick of d3a2e4249 )

After several rounds of improvements in the retry logic (84efb6d7, 729656c5)
MSSQL code non-fatally aborting due to clashing multiple active resultsets
would emit an annoying warning. Such warnings are especially baffling when
encountered in innocent-looking code like:

   my $first_bar_of_first_foo = $schema->resultset('Foo')
                                        ->search({ foo => 'fa' })
                                         ->next
                                          ->related_resultset("bar")
                                           ->next;

Since no object destruction takes place until the = operator is executed, the
cursor returning "first foo matching fa" is still active when we run a second
search for the "bars". With default MSSQL settings (i.e. without an enabled
MARS[1] implementation) this leads to an exception on the second ->next().
The failed next() is properly retried, since we are not in transaction or some
similar complicating factor, and the entire thing executes correctly, except
the force-disconnect-before-reconnect-after-failed-ping warns about the first
cursor being still alive.

Add extra stack marker for this particular case, and teach the MSSQL driver to
hide the (at this stage spurious) warning

[1] http://p3rl.org/DBIx::Class::Storage::DBI::ODBC::Microsoft_SQL_Server#MULTIPLE-ACTIVE-STATEMENTS

7 years agoFix another ::FilterColumn bug sigh...
Peter Rabbitson [Sat, 2 Apr 2016 15:41:52 +0000]
Fix another ::FilterColumn bug sigh...

( cherry-pick of b482a0958 )

This one is technically a regression introduced by dc6dadae, which aimed to
solve multiple runs on already-dirty columns. Unfortunately this very same
change broke update(). Overload get_dirty_columns to fix that, and add a
bunch of tests validating nothing crazy is going on.

I should have seen all of these problems when FC was initially considered,
but alas I was too damn inexperienced :/

7 years agoProxy the 'unsafe' attribute to the internal ::Versioned storage
Fabrice Gabolde [Wed, 13 Apr 2016 13:42:38 +0000]
Proxy the 'unsafe' attribute to the internal ::Versioned storage

( cherry-pick of e7dcdf69f )

7 years agoFix parsing DSN when the driver part includes DBI attributes
Fabrice Gabolde [Fri, 1 Apr 2016 13:05:42 +0000]
Fix parsing DSN when the driver part includes DBI attributes

( cherry-pick of e4328872 )

7 years ago(travis) Port all travis changes since last release
Peter Rabbitson [Fri, 17 Jun 2016 07:59:40 +0000]
(travis) Port all travis changes since last release

7 years agoTemporary work around to play well with Sub::Quote
Peter Rabbitson [Fri, 17 Jun 2016 07:55:59 +0000]
Temporary work around to play well with Sub::Quote

Properly addressed in mainline as dc715747

7 years agoThe complete fix for intermittent t/750firebird.t failures (RT#110979)
Peter Rabbitson [Thu, 7 Jan 2016 17:26:02 +0000]
The complete fix for intermittent t/750firebird.t failures (RT#110979)

( amalgam cherry-pick of 63af9ced2 and 2c649fafe )

It makes no sense to throw values away in case the finish() failed - they are
good regardless. Not sure what I was thinking at the time :(

7 years agoMake sure Win32-like DBICTest checks are not tripped by repeated disconnects
Peter Rabbitson [Fri, 22 Jan 2016 13:14:58 +0000]
Make sure Win32-like DBICTest checks are not tripped by repeated disconnects

( cherry pick of 5c505caf )

7 years agoFix last remaining tests with -T under < 5.10
Peter Rabbitson [Sun, 24 Apr 2016 13:49:30 +0000]
Fix last remaining tests with -T under < 5.10

( cherry-pick of 652d9b762 )

Model on https://github.com/p5sagit/namespace-clean/commit/acb1d694, this is
still a mega-kludge, as the FIXME in the file says

8 years agoRelease v0.082821 v0.082821
Peter Rabbitson [Thu, 11 Feb 2016 18:04:03 +0000]
Release v0.082821

8 years agoAdd explicit patronage listing (should have done this a while ago)
Peter Rabbitson [Thu, 11 Feb 2016 17:52:40 +0000]
Add explicit patronage listing (should have done this a while ago)

Not generalizing it (yet) as patrons are few and far between

8 years agoAdd experimental meta flags signifying the status of parallel testing
Peter Rabbitson [Thu, 11 Feb 2016 17:07:51 +0000]
Add experimental meta flags signifying the status of parallel testing

8 years ago(travis) Multiple CI improvements lifted from blead
Peter Rabbitson [Sat, 28 Mar 2015 07:22:48 +0000]
(travis) Multiple CI improvements lifted from blead

8 years agoRemove test failing on DBD::SQLite 1.50+
Peter Rabbitson [Wed, 10 Feb 2016 19:28:39 +0000]
Remove test failing on DBD::SQLite 1.50+

In mainline the test has been relegated to xt/ status, as the functionality
it tests is largely obsolete at this point. Backporting the deletion only

8 years agoFix failures and protect the suite from spurious VERSION-related warnings
Peter Rabbitson [Sun, 1 Nov 2015 12:08:12 +0000]
Fix failures and protect the suite from spurious VERSION-related warnings

A new SQL::Translator devrel missed a s/_// line and made several tests fail

Fix t/752sqlite.t and t/icdt/offline_pg.t, and also add an obnoxious CI mode
to ensure we will not fall prey to this again

8 years agoFix test failure on 5.8.x with DBIC_TRACE=1 (introduced by 68b8ba54)
Peter Rabbitson [Tue, 3 Nov 2015 08:53:56 +0000]
Fix test failure on 5.8.x with DBIC_TRACE=1 (introduced by 68b8ba54)

The CI run did not smoke this particular combination
TLDR: like ... qr/.../m does not work on 5.8.x due to P5#3038

8 years agoSkip spurious compiler-related error with old DBD::SQLite and new gcc
Peter Rabbitson [Sun, 1 Nov 2015 11:29:11 +0000]
Skip spurious compiler-related error with old DBD::SQLite and new gcc

8 years agoFINALLY find and fix the elusive parallel test deadlock
Peter Rabbitson [Mon, 2 Nov 2015 21:05:04 +0000]
FINALLY find and fix the elusive parallel test deadlock

For more details see https://rt.cpan.org/Ticket/Display.html?id=108390

8 years agoAdd comprehensive concurrent-test-locking logging to aid future debugging
Peter Rabbitson [Thu, 8 Oct 2015 07:40:25 +0000]
Add comprehensive concurrent-test-locking logging to aid future debugging

8 years agoReduce amount of initial connects during non-SQLite test-RDBMS lock-grabs
Peter Rabbitson [Wed, 7 Oct 2015 11:39:46 +0000]
Reduce amount of initial connects during non-SQLite test-RDBMS lock-grabs

I am not sure why I wrote things this way back in 8d6b1478d, perhaps I didn't
properly think through that sqlt_type will be correctly determined no matter
what. As a result any MySQL test would connect at least once, and under the
right circumstances consume enough per-connection-thread memory to get a
low-RAM system (like TravisCI) to start OOM-killing things indiscriminately.

8 years agoFix failing tests with DBICTEST_SYBASE_DSN set
Peter Rabbitson [Fri, 14 Aug 2015 03:31:52 +0000]
Fix failing tests with DBICTEST_SYBASE_DSN set

t/746sybase.t - broken by 2a6dda4b
t/storage/quote_names.t - implicitly broken by an oversight in f9b5239a

Sigh

8 years agoNot sure what I was thinking, but 18637ebb never worked :/
Peter Rabbitson [Fri, 14 Aug 2015 04:41:57 +0000]
Not sure what I was thinking, but 18637ebb never worked :/

While at it work around the newly-discovered RT#106935

8 years agoWork around EUMM 7.06 creating an empty blib/ dir, breaking prove -lr
Peter Rabbitson [Mon, 7 Sep 2015 10:53:00 +0000]
Work around EUMM 7.06 creating an empty blib/ dir, breaking prove -lr

8 years agoMake sure tests still pass in a fork-limited environment
Peter Rabbitson [Wed, 10 Jun 2015 14:18:01 +0000]
Make sure tests still pass in a fork-limited environment

Inspired by a temporarily stuck smoker
http://www.cpantesters.org/cpan/report/751da1f2-e3ff-11e4-a1d1-8536eb4f9f07

Read under -w

8 years agoFix t/storage/quote_names.t failures, caused by lazily built sqlmaker
Dagfinn Ilmari Mannsåker [Wed, 27 May 2015 07:39:58 +0000]
Fix t/storage/quote_names.t failures, caused by lazily built sqlmaker

While the entire test is written badly (it ought to use the OptDeps system)
it would be too much churn to fix it properly for little benefit. Additionally
there is a very good chance that the shortener will become a core dep in the
near future, hence the entire point will soon be moot anyway --ribasushi

8 years agoMake sure tests pass without a compiler present (another step to RT#74706)
Peter Rabbitson [Tue, 19 May 2015 03:49:48 +0000]
Make sure tests pass without a compiler present (another step to RT#74706)

8 years agoDo not load PadWalker at all on plain installs
Kent Fredric [Thu, 2 Apr 2015 11:54:19 +0000]
Do not load PadWalker at all on plain installs

Avoids a SEGV on perls with unusual compilation options

8 years agoWork around Firebird/InterBase/ODBC crash in tests
Dagfinn Ilmari Mannsåker [Wed, 1 Apr 2015 17:52:22 +0000]
Work around Firebird/InterBase/ODBC crash in tests

If DBD::Firebird and DBD::InterBase are used in the same process, the
last one loaded leaves an active statement handle around and later
segfaults at some point in the tests.  Also, if DBD::ODBC is used
before either of them, they leak the handle but don't segfault.

Thus, to avoid breaking installing DBIC if more than one of
DBICTEST_FIREBIRD(_INTERBASE|ODBC)?_DSN is set, skip Interbase if any
of the others are set, and make sure to run the ODBC test last.

However, keep the leak-triggering order for author, CI and smoker
runs, so we don't forget that it needs fixing.

9 years agoRelease v0.082820 v0.082820
Peter Rabbitson [Fri, 20 Mar 2015 20:37:23 +0000]
Release v0.082820

9 years agoInterim fix for incorrect CI status pod (pending more thorough mainline commit)
Peter Rabbitson [Fri, 20 Mar 2015 16:53:31 +0000]
Interim fix for incorrect CI status pod (pending more thorough mainline commit)

9 years agoDocumentation improvements cherry-picked from latest
Peter Rabbitson [Fri, 20 Mar 2015 16:34:01 +0000]
Documentation improvements cherry-picked from latest

Combines 4dbfa426, b339d2ef, 2d707084, f7d6f0e1, b00f9ad4, 372b98a6 and
409a3b1e

9 years agoMore desc_env fixes: Win32 lib matching, and better formatting of final diag
Peter Rabbitson [Thu, 5 Mar 2015 23:39:00 +0000]
More desc_env fixes: Win32 lib matching, and better formatting of final diag

This is what the slash-situation is on a typical strawberry:

          'inc' => [
                     'C:/Strawberry/perl/site/lib/MSWin32-x64-multi-thread',
                     'C:/Strawberry/perl/site/lib',
                     'C:/Strawberry/perl/vendor/lib',
                     'C:/Strawberry/perl/lib',
                     '.'
                   ],
          'archlib' => 'C:\\STRAWB~1\\perl\\lib',
          'archlibexp' => 'C:\\STRAWB~1\\perl\\lib',
          'privlib' => 'C:\\STRAWB~1\\perl\\lib',
          'privlibexp' => 'C:\\STRAWB~1\\perl\\lib',
          'sitearch' => 'C:\\STRAWB~1\\perl\\site\\lib',
          'sitearchexp' => 'C:\\STRAWB~1\\perl\\site\\lib',
          'sitelib' => 'C:\\STRAWB~1\\perl\\site\\lib',
          'sitelibexp' => 'C:\\STRAWB~1\\perl\\site\\lib',
          'vendorarch' => 'C:\\STRAWB~1\\perl\\vendor\\lib',
          'vendorarchexp' => 'C:\\STRAWB~1\\perl\\vendor\\lib',
          'vendorlib' => 'C:\\STRAWB~1\\perl\\vendor\\lib',
          'vendorlibexp' => 'C:\\STRAWB~1\\perl\\vendor\\lib'

Instead of trying to wade through it with File::Spec, just turn short names
into longnames and every \ into / and hope it works.

Also make it so that the MD5 line will align correctly on an 80-col terminal
(on wider terminals it won't matter either way), and show *all* the hashes
at all times (omitting the information makes little sense).

In addition some clarification to the undef/empty ->VERSION return error
and the diag contents themselves (Mithaldu++)

(cherry pick of 4bfba4ee)

9 years agoFix test suite to work again with DBICTEST_SQLITE_USE_FILE
Peter Rabbitson [Tue, 17 Mar 2015 12:06:13 +0000]
Fix test suite to work again with DBICTEST_SQLITE_USE_FILE

It was never included as part of POISON_ENV and subsequently lapsed. Sigh.

(cherry pick of 7154ff35)

9 years agoFix uninitialized warnings on empty hashes passed to join/prefetch
Henry Van Styn [Wed, 29 Oct 2014 13:25:33 +0000]
Fix uninitialized warnings on empty hashes passed to join/prefetch

(cherry-pick of ca30d84)

9 years agoRelax sanity check in _resolve_relationship_condition
Peter Rabbitson [Fri, 13 Mar 2015 12:43:08 +0000]
Relax sanity check in _resolve_relationship_condition

It doesn't buy much and breaks legitimate class redirection techniques
(some of them even documented in the cookbook)

(cherry pick of e4b79657)

9 years agoFix exception on complex update/delete under a replicated setup
Peter Rabbitson [Tue, 17 Mar 2015 15:21:47 +0000]
Fix exception on complex update/delete under a replicated setup

THIS COMMIT IS A HACK!!! The actual fix is migration of the logic to the
SQLMaker subclass and deal with it there. However the entire class hierarchy
is currently in flux, so go with the least invasive change until the storage
rewrite settles.

(cherry pick of da4a8fe7)

9 years ago(travis) Various TravisCI improvements lifted from blead
Peter Rabbitson [Thu, 23 Oct 2014 10:02:47 +0000]
(travis) Various TravisCI improvements lifted from blead

9 years agoDo not attempt to load DBD::Oracle without envvars
Peter Rabbitson [Thu, 12 Mar 2015 14:10:15 +0000]
Do not attempt to load DBD::Oracle without envvars

This is morally equivalent to 250d9e55, except without any of the new OptDep
shinies

9 years agoRemove warning introduced in 75a1d824d
Peter Rabbitson [Mon, 2 Mar 2015 06:08:00 +0000]
Remove warning introduced in 75a1d824d

(cherry pick of cff17b97)

9 years agoRemove obsolete startup check (introduced in 5e724964, superseded by a5a7bb73)
Peter Rabbitson [Tue, 10 Feb 2015 13:05:40 +0000]
Remove obsolete startup check (introduced in 5e724964, superseded by a5a7bb73)

(cherry pick of a02d6f59)

9 years agoRemove erroneous undefer introduced in 8d73fcd4 (confuses old perls in END)
Peter Rabbitson [Mon, 9 Mar 2015 10:25:42 +0000]
Remove erroneous undefer introduced in 8d73fcd4 (confuses old perls in END)

While it is important to check this during namespace cleansing checks, it
actually makes no difference whatsoever during leaktests - things will either
be closed over and thus seen, or they won't be

(cherry pick of 90a80304)

9 years agoFix updating multiple CLOB/BLOB columns on Oracle
Kevin L. Kane [Tue, 18 Nov 2014 13:02:33 +0000]
Fix updating multiple CLOB/BLOB columns on Oracle

The genric _dbi_attrs_for_bind caches the attribute hashrefs by data
type, so we can't modify them directly with column-specific data.

Instead, copy it and add the ora_field attribute to the copy.

(cherry pick of 74113bd1)

9 years agoWorkaround for double-call of destructors (based on 3d56e026 and e1d9e578)
Peter Rabbitson [Thu, 12 Mar 2015 09:27:36 +0000]
Workaround for double-call of destructors (based on 3d56e026 and e1d9e578)

Silently fixing this up is nothing short of irresponsible, hence the
elaborate detection and alert mechanism

Instead of just marking all my DESTROYs with the function, also add it to a
base class, thus capturing *everything* there is to find. Yes it will be a
tad slower. And yes it will have a massive benefit to any DBIC user happening
to be caught in an unfriendly app-space

(cherry-pick of d63c9e64)

9 years agoFix Postgres test hang with DBD::Pg 3.5.0+ (work around RT#100648)
Peter Rabbitson [Thu, 8 Jan 2015 00:42:52 +0000]
Fix Postgres test hang with DBD::Pg 3.5.0+ (work around RT#100648)

It is not 100% clear to me why this is happening, as the change discussed[1]
was not supposed to change behaviour outside of a transaction.

The test in question essentially does a blocking request with a timeout. The
way the default DBIC machinery works is to issue a ping() after the timeout
induced exception, in order to opossibly retry the operation IFF the link
went stale ($dbh thinks everything is in order, the RDBMS believes otherwise).

After the changes in 3.5.0 this ping() now hangs, even though the access
pattern did not change (there are no transactions involved on the handle in
question). Either way, the fix is simple: just shim-away the ping for the
duration of the test.

In general this should be resolved on a higher level by disabling retries for
the duration of the test (or maybe even disabling retries by default in the
distant feature - see RT#47005)

[1] https://rt.cpan.org/Ticket/Display.html?id=100648#txn-1438093

(cherry pick of 731c2d8b)

9 years agoStop noise from a particular combination of DateTime and DateTime::TimeZone
Peter Rabbitson [Thu, 5 Mar 2015 15:07:13 +0000]
Stop noise from a particular combination of DateTime and DateTime::TimeZone

While things went quiet for a while after 556c4fe6, it seems that another
refactor made things go awry again. I can't actually reproduce this on any
of my machines, including Travis. Besides this isn't anything to worry much
about anyway - just kill the test

(cherry pick of 3619783b)

9 years agoKeep T::B IO open in t/52leaks.t END - other ENDs pending (esp. since 961d79db)
Peter Rabbitson [Thu, 22 Jan 2015 15:19:57 +0000]
Keep T::B IO open in t/52leaks.t END - other ENDs pending (esp. since 961d79db)

Read under -w

(cherry pick of 7617dcc4)

9 years agoFix t/54taint.t failures on perl-in-hell-in-space
Peter Rabbitson [Thu, 5 Mar 2015 19:14:12 +0000]
Fix t/54taint.t failures on perl-in-hell-in-space

Given its a core bug, and the test is not critical, just skip the whole thing

(cherry pick of a5741f5c)

9 years agoAdd comprehensive 'report-prereqs'-like tooling
Peter Rabbitson [Wed, 4 Mar 2015 01:30:48 +0000]
Add comprehensive 'report-prereqs'-like tooling

Unlike what is currently available in various Dzil plugins, this is more of
a descendent of Test::DiagINC - it tries to load as much as possible and
subsequently reports on whatever can be found in the symtable.

There is no (and never will be any) attempt made to validate if all modules
listed in the various METAs are in fact available (this is what the rest of
the test suite is for).

Module versions are broken up into groups depending on their place in @INC,
without leaking the contents of @INC itself.

(slightly modified cherry pick of cebc0cc8)

9 years agoExtract LeakTracer symtable visitor into DBICTest::Util
Peter Rabbitson [Tue, 3 Mar 2015 17:07:48 +0000]
Extract LeakTracer symtable visitor into DBICTest::Util

Minor rewrapping and renaming of variables as we copy it

No functional changes at all, verified to produce same number of visits

(cherry pick of c9abd679)

9 years agoFix intermittent failures in the LeakTracer on 5.18+, remove all workarounds
Peter Rabbitson [Thu, 22 Jan 2015 22:27:22 +0000]
Fix intermittent failures in the LeakTracer on 5.18+, remove all workarounds

ARGH! In the end the issue turned out to be stupid-simple: when PadWalker is
called it always returns us a hashref. This hashref is traversed, with its
own address recorded as seen. Once processed, the hashref itself is GCed,
leaving a stale entry in $seen_refs.

Up until 5.18 this was not a problem, likely due to no address reuse. However
after 5.18 PadWalker is very happy to return different hashrefs under the same
address over and over again. The $seen_refs entry leads to a skip, and the
actual contents of the pad are never examined - we've seen this hash already.

ARGH!

The decisive change is the single line around PadWalker - everything else is
cleanup of workarounds for this problem.

(cherry pick of 1a77219a)

9 years agoFactor out author count anouncement, making it seen on plain installs
Peter Rabbitson [Thu, 26 Feb 2015 18:22:22 +0000]
Factor out author count anouncement, making it seen on plain installs

(cherry pick of 245e3f5d)

9 years agoPreserve space after <nick>: in the AUTHORS section of DBIx/Class.pod
Dagfinn Ilmari Mannsåker [Tue, 6 Jan 2015 19:24:05 +0000]
Preserve space after <nick>: in the AUTHORS section of DBIx/Class.pod

(cherry pick of 712904d0)

9 years agoStop lazy-requiring B and Storable in internal functions
Peter Rabbitson [Sun, 12 Oct 2014 10:23:10 +0000]
Stop lazy-requiring B and Storable in internal functions

Almost every non-toy program will end up lazy-loading these anyway, so move
their require to compile time. This also helps with load-patterns changing
in SQLA and Moo, and failing lean_startup.t on some smokers

(cherry pick of d7d45bdc)

9 years agoAt last a safer Moo (lots of kludges undone)
Peter Rabbitson [Thu, 26 Feb 2015 16:47:29 +0000]
At last a safer Moo (lots of kludges undone)

(cherry pick of 0020e364)

9 years agoGet the leaktest to work with Test::More-(hopefully-not)-to-be
Peter Rabbitson [Thu, 26 Feb 2015 22:25:39 +0000]
Get the leaktest to work with Test::More-(hopefully-not)-to-be

(cherry pick of cd771d5c)

9 years ago(internal) Introduce an extra utility function, essentially a ( >= , < ) test
Peter Rabbitson [Sat, 25 Oct 2014 12:34:28 +0000]
(internal) Introduce an extra utility function, essentially a ( >= ,  < ) test

(cherry pick of d634850b)

9 years agoRelease v0.082810 v0.082810
Peter Rabbitson [Sat, 25 Oct 2014 13:56:17 +0000]
Release v0.082810

9 years agoBump SQLA dependency (pull in fix for RT#99503)
Peter Rabbitson [Sat, 25 Oct 2014 12:00:10 +0000]
Bump SQLA dependency (pull in fix for RT#99503)

(partial cherry pick of c58303cdc)

9 years agoBlacklist certain trial versions of DBD::SQLite in testing
Peter Rabbitson [Sat, 25 Oct 2014 12:49:02 +0000]
Blacklist certain trial versions of DBD::SQLite in testing

(slightly modified cherry pick of 83e81c2d)

9 years agoFix endless loop on BareSourcelessResultClass->throw_exception(...)
Peter Rabbitson [Fri, 24 Oct 2014 23:35:14 +0000]
Fix endless loop on BareSourcelessResultClass->throw_exception(...)

There is a better fix for this in the pipes, but this will do for now

(cherry pick of 4f52479b)

9 years agoBump Moo dependency
Peter Rabbitson [Fri, 24 Oct 2014 22:41:04 +0000]
Bump Moo dependency

(cherry pick of abc3b8e9c)

9 years agoFix idiocy that snuck in bdbd2ae8a - I only want fatal undefs
Peter Rabbitson [Fri, 24 Oct 2014 21:53:52 +0000]
Fix idiocy that snuck in bdbd2ae8a - I only want fatal undefs

Not sure what I was thinking. In either case - remove the unsafe code, and
annotate the remaining uses of FATAL => 'all'

(cherry pick of 9f7d5590)

9 years agoFix incorrect collapser source being generated due to unicode collapse points
Peter Rabbitson [Fri, 24 Oct 2014 21:38:17 +0000]
Fix incorrect collapser source being generated due to unicode collapse points

I am not sure how nobody but abraxxa ran into this - the missing escapes have
been used by a ton of people for over a year. In any case the issue is real,
and fixed by trivial {}-escaping.

Add an extra stresstest envvar to make sure this does not regress in the
future (the envvar will be picked up and set by POISON_ENV on travis)

(cherry pick of 2fdeef65)

9 years ago(travis) Install older DBD::SQLite on perl < 5.8.4, I fucked up on testing
Peter Rabbitson [Thu, 23 Oct 2014 07:43:59 +0000]
(travis) Install older DBD::SQLite on perl < 5.8.4, I fucked up on testing

Related RT: https://rt.cpan.org/Ticket/Display.html?id=99747
ribasushi--

(cherry pick of 21b3c791)

9 years agoNewer Test::More lazy-loads more stuff (overload.pm in this case)
Peter Rabbitson [Mon, 20 Oct 2014 13:23:25 +0000]
Newer Test::More lazy-loads more stuff (overload.pm in this case)

Make the 'undefer' dummy test do more work

(cherry pick of 77cc50d1)

9 years agoRelease v0.082801 v0.082801
Peter Rabbitson [Sun, 5 Oct 2014 23:56:49 +0000]
Release v0.082801

9 years agoExtra tests to ensure that the cond collapser will not mask SQLA deprecations
Peter Rabbitson [Fri, 26 Sep 2014 02:25:41 +0000]
Extra tests to ensure that the cond collapser will not mask SQLA deprecations

No functional changes except for a minor SQL reordering adjustment

9 years agoBump deps to pull in bugfixes
Peter Rabbitson [Sun, 5 Oct 2014 21:16:48 +0000]
Bump deps to pull in bugfixes

9 years agoAdjust things for the is_literal_value and -ident SQLA 1.80 fixes
Peter Rabbitson [Fri, 26 Sep 2014 02:20:51 +0000]
Adjust things for the is_literal_value and -ident SQLA 1.80 fixes

(SQLA commits 52ce7dca and ddd6fbb6f)

The Oracle workaround is absolutely horrific and needs to be redone from
scratch. For the time being the tests seem to pass, so punt for later... sigh

9 years agoThe functionality introduced in 7ad80222 requires a certain CDBI
Peter Rabbitson [Fri, 26 Sep 2014 02:22:41 +0000]
The functionality introduced in 7ad80222 requires a certain CDBI

Skip it on older versions (wow - people *do* run these in the wild)
https://metacpan.org/source/TMTM/Class-DBI-v3.0.5/Changes#L6

9 years ago(travis) Augment bc418819 - in addition check vm kernel memory health
Peter Rabbitson [Fri, 26 Sep 2014 10:28:25 +0000]
(travis) Augment bc418819 - in addition check vm kernel memory health

Sometimes a vm comes up with most of the memory locked up in... god knows what
This seems to be a stable compromise which brings *all* jobs to completion

9 years ago(travis) Re-consolidate sysinfo handling (reverts part of 83da25f0)
Peter Rabbitson [Sun, 28 Sep 2014 10:08:49 +0000]
(travis) Re-consolidate sysinfo handling (reverts part of 83da25f0)

9 years ago(travis) Consolidate where/how we load the common functions (the multiple
Peter Rabbitson [Sun, 28 Sep 2014 10:08:49 +0000]
(travis) Consolidate where/how we load the common functions (the multiple
sourcing of the same file is silly)

9 years agoRelease v0.082800 v0.082800
Peter Rabbitson [Thu, 25 Sep 2014 14:41:56 +0000]
Release v0.082800

9 years agoSome cleanups of Changes and adding 'Known issues'
Peter Rabbitson [Thu, 25 Sep 2014 14:37:41 +0000]
Some cleanups of Changes and adding 'Known issues'

9 years agoThis was reinstated in dc297536f
Peter Rabbitson [Thu, 25 Sep 2014 14:37:16 +0000]
This was reinstated in dc297536f

9 years agoKill leaktest on smokers with 1.3xx Test::More alphas
Peter Rabbitson [Thu, 25 Sep 2014 13:54:44 +0000]
Kill leaktest on smokers with 1.3xx Test::More alphas

This is done so that downstram dependencies of DBIC can be smoked as well,
the actual leaktest fix will come later when T::B stabilizes enough to go
into beta

9 years agoSQLA 1.79 shipped - revert tempextlib hack from d0435d75
Peter Rabbitson [Thu, 25 Sep 2014 12:07:46 +0000]
SQLA 1.79 shipped - revert tempextlib hack from d0435d75