Peter Rabbitson [Tue, 14 Jan 2014 05:32:45 +0000]
"Fun" with Devel::MAT
Peter Rabbitson [Mon, 20 Jan 2014 19:05:00 +0000]
Stop using precomputed SQLite testdb name, fix test-end bug in replicated.t
This was an... odd one. Originally the problem manifested as a classic
var-sub-sub closure problem, leading to $db_file being captured and tripping
a more involved testcase that is coming in a subsequent commit. However while
getting rid of the reference itself was easy, this led to the outer coderef
itself being "leaked out".
The reproducing oneliner is:
~$ perl -MScalar::Util=weaken -Mstrict -Mwarnings -e '
sub foo {
my $rv = sub { "wtf" }; return $rv;
}
my $should_be_gone;
{
$should_be_gone = foo();
weaken ($should_be_gone);
}
warn $should_be_gone; # why is this still defined@!%#$!$#
'
Various tools indicated that it is somehow attached to the PAD of the static
foo() sub, but I could not figure out *why* exactly this is happening, nor
how to properly list it: PadWalker's closed_over() shows nothing for foo()
Thus invoking doge on the whole shebang, and moving on. SUCH WTF, WOW!
Incientally changing things to use the current SQLite filename revealed
a bug in t/storage/replicated.t, which was never noticed as it only
resulted in annoying warnings under Win32 global destroy (test
teardown).
Peter Rabbitson [Mon, 26 Aug 2013 13:24:04 +0000]
Add extra operations to the heavy duty leaktrace scope
Fire all so-far-collected resultsets multiple times
Peter Rabbitson [Mon, 20 Jan 2014 13:12:23 +0000]
Do not track plain scalar refs on 5.17+ for the time being
Peter Rabbitson [Mon, 20 Jan 2014 10:50:25 +0000]
Smoke 5.16.2 (ensure we are not affected by Encode leak) and bump latest 5.18
Peter Rabbitson [Sun, 19 Jan 2014 17:08:09 +0000]
Stop circref TODO based on RT#82942 from failing after changes in
96577657
Peter Rabbitson [Wed, 15 Jan 2014 15:04:30 +0000]
Now that we have the tools leak-track much more stuff when XS is there
Peter Rabbitson [Wed, 15 Jan 2014 15:04:24 +0000]
Switch to a global symtable "classdata" visitor
This not only allows us to track anything global, not only CAG stuff
but also removes a bunch of workarounda from t/52leaks.t \o/
Peter Rabbitson [Wed, 15 Jan 2014 15:19:54 +0000]
Even saner diagnostics (view under diff -w)
Now that we no longer store signs of "ref X was here but GCed" there is no
point in "No leaks of X" pass()es either
Peter Rabbitson [Tue, 14 Jan 2014 15:19:26 +0000]
Stop various CLONE-registries from growing indefinitely
Peter Rabbitson [Sun, 29 Dec 2013 06:25:53 +0000]
Rewire the leaktracer to store all refs by address, not by name
Also add better diagnostics during failure
Peter Rabbitson [Sun, 12 Jan 2014 12:36:30 +0000]
Centralize handling of refcount in DBIC::_Util
Peter Rabbitson [Sun, 19 Jan 2014 21:59:23 +0000]
Switch the bleadcpan test to 5.8.7
Peter Rabbitson [Sun, 19 Jan 2014 22:47:28 +0000]
Allow devcpan tests to pass by not considering SQLA 1.99_xx
Peter Rabbitson [Sun, 19 Jan 2014 18:24:49 +0000]
Temporary CI workaround for RT#92226
Peter Rabbitson [Sun, 12 Jan 2014 12:34:42 +0000]
Unused import
Peter Rabbitson [Sun, 19 Jan 2014 11:39:28 +0000]
Fix ridiculous regex anchor mistake from
66137dffe
Peter Rabbitson [Mon, 13 Jan 2014 11:49:53 +0000]
SQLite changed their exception text again
Zefram [Sun, 12 Jan 2014 20:04:27 +0000]
Fix warning in t/54taint.t with explicitly unset PERL5LIB (RT#91972)
Peter Rabbitson [Mon, 6 Jan 2014 12:00:12 +0000]
Clarify that this is not a fix but a workaround for loud users
Peter Rabbitson [Mon, 6 Jan 2014 11:52:27 +0000]
Temporary todo list
Dagfinn Ilmari Mannsåker [Fri, 3 Jan 2014 21:18:06 +0000]
Add .mailmap entry for my work address
Dagfinn Ilmari Mannsåker [Fri, 3 Jan 2014 21:17:30 +0000]
Fix typo in Changes
Peter Rabbitson [Fri, 3 Jan 2014 09:37:03 +0000]
Full depchain test on plain blead
Peter Rabbitson [Fri, 3 Jan 2014 09:33:54 +0000]
Grumble - Module::Runtime is M::B-based, wtf Zefram
Peter Rabbitson [Fri, 3 Jan 2014 09:32:27 +0000]
Revert
8c11c33f - the AAAA record got axed
https://github.com/CPAN-API/metacpan-web/issues/1029
Karen Etheridge [Wed, 18 Dec 2013 23:52:30 +0000]
Extra (passing) test case generated while investigating the cause of RT#91375
David Schmidt [Mon, 23 Dec 2013 14:43:27 +0000]
Better explanation for optional fk values in rels
David Schmidt [Mon, 30 Dec 2013 09:32:32 +0000]
Fixed typos
Peter Rabbitson [Fri, 27 Dec 2013 05:53:06 +0000]
Extra poison - have our latest stable in PERL5LIB
Peter Rabbitson [Fri, 27 Dec 2013 05:28:04 +0000]
Better instrument memcached test against failures like
106c81a5
Peter Rabbitson [Fri, 27 Dec 2013 04:59:25 +0000]
Require latest SQLA (some deprecations, lots of parser fixes)
Peter Rabbitson [Thu, 19 Dec 2013 11:59:21 +0000]
Augment
287373c2 with a more pinpointed link
Matt S Trout [Sun, 17 Nov 2013 03:01:29 +0000]
fix test to use qw as (so far as I can see) originally intended
Karen Etheridge [Wed, 18 Dec 2013 20:41:27 +0000]
misspelling
Karen Etheridge [Wed, 18 Dec 2013 20:24:59 +0000]
add link explaining the format of the .mailmap file
Peter Rabbitson [Mon, 16 Dec 2013 08:50:12 +0000]
A git based install works in one step with cpanm
Peter Rabbitson [Mon, 16 Dec 2013 07:42:16 +0000]
Dancing around T::B 1.5 is becoming untenable, just limit it away
Also add an extra 5.12.1 clean devrel smoke
Peter Rabbitson [Sun, 15 Dec 2013 10:20:53 +0000]
Add *clean devrel* smokes (full testing of devrels of our deps using cpanm)
Peter Rabbitson [Sun, 15 Dec 2013 10:17:34 +0000]
Show more info about the system and show what did we end up building
Peter Rabbitson [Sun, 15 Dec 2013 09:40:37 +0000]
Disable IPV6 access until metacpan gets their act together
(Several days to fix a *known* issue with an AAAA record, seriously?)
Peter Rabbitson [Fri, 13 Dec 2013 22:23:21 +0000]
Run parallel_installdeps_notest() with a timeout as well
Peter Rabbitson [Fri, 13 Dec 2013 19:58:33 +0000]
Remove
37b5ab51 test warnings on older perls
Peter Rabbitson [Fri, 13 Dec 2013 19:26:48 +0000]
Revert parts of
e1ab2f7a, the depchain got perturbed again
Latest strictures now instist on bringing in the extra deps, which can't
be installed without working configure_requires
Peter Rabbitson [Mon, 4 Nov 2013 09:03:54 +0000]
Convert many live-only SQL test to standalone is_same_sql_bind cases
Peter Rabbitson [Fri, 13 Dec 2013 13:29:33 +0000]
Pass the correct NAME attribute to our dummy EUMM invocation
Peter Rabbitson [Sat, 7 Dec 2013 15:07:57 +0000]
Extra (now passing) oracle test which led to the work in
37b5ab51
Grumble - this was such a simple thing to diagnose and it took a month to
see it. The culprit was the (correctly bisected to) cleanup in
d87929a4,
which failed to take into account that an empty connect() can still lead
to a healthy $dbh, given system-based authoriozation, and no attributes
being passed in.
For the curious - the difficulty to diagnose was further exacerbated by
the apparent insanity of what was being generated - a (known, existing)
method name was somehow leaking into the generated SQL. In reality when
we failed to determine the driver, we also failed to determine the SQLA
subclass, which in turn made us call a nonexisting method on $sql_maker,
but *surprise* - SQL::Abstract (the granddady of it all) defines an
AUTOLOAD. Kh
aaaaaaaaaaaaa....
Robert Bohne [Fri, 13 Dec 2013 15:37:46 +0000]
Increase oracle xe user process limit from 40 (default) to 150
Peter Rabbitson [Tue, 10 Dec 2013 03:53:44 +0000]
Streamline connection codepath, fix $ENV{DBI_DSN} regression from
d87929a4
Break out _dbi_connect_info to always take into account $ENV{DBI_DSN} on
a case-by-case basis. This allows to centralize handling of "whose driver
is this anyway" and let more exotic configs still function properly. As a
side effect need to move the _dbi_connect_info() population earlier in the
connect_info() codepath
Also break out the DBI_DRIVER reader, and use it if possible in the
_describe_connection codepath
Additionaly refactor of _connect since there is no point passing the DSN when
we can grab it from $self (this also fixed ::Replicated's _connect() loop
never actually having worked)
Peter Rabbitson [Sat, 7 Dec 2013 07:39:14 +0000]
Make life bearable for windows users wrt EOL
Peter Rabbitson [Sat, 7 Dec 2013 05:53:00 +0000]
Augment
1363f0f5 for running in hell
SQLite produces extra warnings on Win32 even with an appropriate IV_SIZE
Peter Rabbitson [Wed, 4 Dec 2013 06:19:42 +0000]
Windows fork is not only slow - it plain breaks on multiple requires :(
Stop using pseudofork on the lesser platform altogether
Peter Rabbitson [Wed, 4 Dec 2013 06:19:42 +0000]
Separate DBIC::_ENV_::* setup from loading of the main DBIx::Class module
Peter Rabbitson [Wed, 4 Dec 2013 03:19:28 +0000]
Better specification of the JSON::* optdeps
Peter Rabbitson [Sat, 7 Dec 2013 07:23:37 +0000]
New Test::Kwalitee completely prevents install of Pod::POM
Just skip all tests until we get a new release
Peter Rabbitson [Thu, 28 Nov 2013 08:52:28 +0000]
Add OracleXE 10.2-based testing
Peter Rabbitson [Sat, 7 Dec 2013 07:03:12 +0000]
Memcached no longer autostarts on install on ubuntu - wtf...
Peter Rabbitson [Sat, 7 Dec 2013 06:44:39 +0000]
Latest cpanminus changed its --scandeps error output, bleh
Peter Rabbitson [Sun, 17 Nov 2013 12:31:37 +0000]
Stop correlated subqueries from affecting the aliastypes analysis
This should make mind-bending correlations like the ones frew likes to (ab)use
work even when combined with Getty-levels of prefetch extravaganza
Peter Rabbitson [Fri, 8 Nov 2013 12:01:28 +0000]
Rename imprecisely named variables in the load_namespaces codepath
Clarify some error messages while we are at it
Peter Rabbitson [Fri, 8 Nov 2013 09:12:09 +0000]
Fix nonsensical result class names introduced by a test in
45f8858e6
Peter Rabbitson [Tue, 5 Nov 2013 08:26:23 +0000]
This is an expensive author-only test, move to xt/
Also get xt tests first in line (won't matter much with -s)
Peter Rabbitson [Tue, 5 Nov 2013 08:17:52 +0000]
Make sure DBICTest is always loaded first (purely bookkeep)
Peter Rabbitson [Tue, 5 Nov 2013 00:44:23 +0000]
Work around TB1.5 hanging with 5.19 - use unreleased github patch
Peter Rabbitson [Tue, 5 Nov 2013 00:29:05 +0000]
Revert
2c300e45 - new backwards compatible SQLT got released
Work is being done to reintroduce the feature with a softer push:
https://github.com/dbsrgits/sql-translator/pull/26#issuecomment-
27644756
Peter Rabbitson [Mon, 15 Feb 2010 18:45:05 +0000]
Clarify what happens on distinct + get_column($aggregate_alias)
Peter Rabbitson [Thu, 29 Aug 2013 06:14:05 +0000]
Centralize and sanify generation of synthetic group_by criteria
This should solve multiple deficiencies when a limited prefetch is ordered
by non-local columns (especially pre-multiplied ones). Also intelligently
solves many problems combining distinct with various non-selecting external
order criteria.
Most current behaviors should remain unaffected except for cases of
blatantly incorrect query generation (fingercross)
Matt Phillips [Mon, 4 Nov 2013 21:53:47 +0000]
fix typo in FATAL ERROR message.
Peter Rabbitson [Wed, 30 Oct 2013 15:33:48 +0000]
Simplify DBIHacks signatures
The cross-polination of $attrs and various subparts is becoming a nightmare
to maintain. Straighten up most ::DBIHacks to pass stuff around as a single
$attrs bag (no functional changes, this is a temp-stage cleanup)
The idea is to prepare for an rsattrs object (later on all we will need to
do is replace the hash-grabs with methods, but this requires much more
thought and design, small steps)
Affected signatures in :DBIHacks:
_prune_unused_joins()
_resolve_aliastypes_from_select_args()
_adjust_select_args_for_complex_prefetch()
_extract_fixed_condition_columns()
Not touching to facilitate easier DQ merge (TODO in a sense):
_order_by_is_stable()
_main_source_order_by_portion_is_stable()
Peter Rabbitson [Thu, 31 Oct 2013 09:55:01 +0000]
Temporarily freeze travis SQLT on 0.11016, until the SQLT debacle is resolved
https://github.com/dbsrgits/sql-translator/pull/26#issuecomment-
27472588
Peter Rabbitson [Thu, 31 Oct 2013 10:28:49 +0000]
Test more JSON::Any backends, and reorder the selection in terms of desirability
DWIW is the most lax JSON parser and thus is always preferred for CLI work
Peter Rabbitson [Wed, 30 Oct 2013 08:16:39 +0000]
Work around JSON::Any not being future-proof
https://rt.cpan.org/Ticket/Display.html?id=89853
https://github.com/perigrin/json-any/pull/2
Dagfinn Ilmari Mannsåker [Tue, 29 Oct 2013 17:24:34 +0000]
Consistently use "eq ''" when checking for exception refness
Dagfinn Ilmari Mannsåker [Tue, 29 Oct 2013 17:00:53 +0000]
Explicitly stringify when checking for existing exception
This fixes errors with exception objects with incomplete
overloading (like Log::Report::Dispatcher::Try).
Peter Rabbitson [Fri, 25 Oct 2013 05:10:47 +0000]
Fix
a47f273b change to be in line with the Row->Result rename of fb13a49f
Karen Etheridge [Thu, 24 Oct 2013 21:11:12 +0000]
fix some pod links
Peter Rabbitson [Fri, 18 Oct 2013 16:00:31 +0000]
Better render of $POSTMORTEM
Peter Rabbitson [Fri, 18 Oct 2013 14:47:29 +0000]
Add a MAKEFLAGS parallel execution config on travis
Peter Rabbitson [Fri, 18 Oct 2013 13:15:06 +0000]
Get TAP::Harness to time tests travis-wide
Peter Rabbitson [Mon, 14 Oct 2013 12:12:06 +0000]
Remove anything preinstalled on the travis perls when CLEANTEST is true
This will give us yet another test point
Peter Rabbitson [Wed, 16 Oct 2013 03:56:39 +0000]
Smoother concurrent test-flow
The noop trick initializes the STDOUT, so that the TAP::Harness
issued IO::Select->can_read calls (which are blocking wtf wtf wtf)
keep spinning and scheduling jobs
This results in an overall much smoother job-queue drainage, since
the Harness blocks less
(ideally this needs to be addressed in T::H, but a quick patchjob
broke everything so tabling it for now)
Peter Rabbitson [Wed, 16 Oct 2013 04:08:09 +0000]
Build more recent perls concurrently
Peter Rabbitson [Mon, 14 Oct 2013 07:46:37 +0000]
Check that 64 bit in-SQLite math works regardless of ivsize
Expand on top of
04ab4eb1 and 579d1966, work inspired by charsbar's
https://github.com/charsbar/dbd-sqlite-authortests
Tested by passing the following on an old and recent DBI and a mix of ivsizes
for p in 5.8.1 5.8.2 5.8.3 5.8.5 5.18.0 5.18.1; do
perlbrew switch $p
for v in 1.29 1.31 1.33 1.35 1.37 1.39 1.40 ; do
PERL_CPANM_OPT= cpanm -qn DBD::SQLite@$v && echo -n "$p " && perl -V:ivsize && prove -l t/752sqlite.t || break
done
done
@mattp- now *that's* attention to detail :)
Peter Rabbitson [Sat, 12 Oct 2013 12:40:30 +0000]
Fix exceedingly sloppy SQLite warning workaround from
04ab4eb1
The previous version managed not only to *not* silence any warning but also
break the test checking for lack of said warnings. In addition the silencing
regex was unacceptably broad, possibly missing some important misbinds.
riba pull your shit together man
a.k.a. this is what happens when there are no code reviewers :(((
Peter Rabbitson [Mon, 14 Oct 2013 06:47:17 +0000]
Forgotten remnant of
655d80dd (void by f207111d)
Peter Rabbitson [Mon, 14 Oct 2013 08:07:28 +0000]
Really work around https://github.com/travis-ci/travis-ci/issues/1477
Just upgrade cpanm by hand with --dev
Peter Rabbitson [Mon, 14 Oct 2013 09:13:04 +0000]
Add more autogenerated test exceptions, in fact do a carpetbomb
This is necessary at least for a while until the war on the user passes
Peter Rabbitson [Mon, 14 Oct 2013 12:09:45 +0000]
Streamline postmortem analysis, and fix non-essential-test report being lost
It got eaten by lack of STDERR output after fixage from
a4c52abc, GAH!
Peter Rabbitson [Fri, 11 Oct 2013 10:12:53 +0000]
Add a 9m soft / 9.5m hard timeout option to bin/cpan runs
This makes sure we do not abort a travis run without meaningful output
Peter Rabbitson [Fri, 11 Oct 2013 06:52:25 +0000]
Reenable 5.10 travis smokes
https://rt.cpan.org/Ticket/Display.html?id=88903 got solved \o/
Peter Rabbitson [Thu, 10 Oct 2013 10:10:27 +0000]
Correct attribution of nonessential skipped tests origin
Peter Rabbitson [Fri, 11 Oct 2013 07:44:50 +0000]
MULTICREATE_DEBUG + TRACE_PROFILE=console_monochrome results in >4MB log
Karen Etheridge [Thu, 10 Oct 2013 19:23:29 +0000]
Pod/comment fixes
Peter Rabbitson [Mon, 29 Jul 2013 01:47:13 +0000]
Make the dbh error handler installer `Perl -d` friendly
GC in perl is a mess sometimes - a literal sub { ... } within a try { ... } goes
wonky, but the equivalent coderef stored in a scalar is fine >.<
Peter Rabbitson [Mon, 29 Jul 2013 04:45:50 +0000]
Move classdata handling to DBICTest::Util::LeakTracer
Peter Rabbitson [Fri, 11 Oct 2013 11:03:05 +0000]
Silence nonessential test warning (last outstanding \o/)
Peter Rabbitson [Tue, 8 Oct 2013 22:51:25 +0000]
Many improvements of bigint handling across various DBD::SQLite versions
This started as a patch by ilmari to bind all integers as SQL_BIGINT
as opposed to SQL_INTEGER. While this change itself worked fine, further
testing revealed we never actually bound 'bigint' column types in the
first place. When this was rectified all hell broke loose.
The current situation per DBD::SQLite version
1.29 ~ 1.33: everything works fine, for large values DBD::SQLite loses
precision on perl binaries with ivsize == 4 (just like integer
math within perl itself)
1.35: Nothing works *regardless* of ivsize. Binding a >32 bit value
as either SQL_INTEGER or as SQL_BIGINT is impossible (an
exception is thrown from within DBD::SQLite). DBIC simply strips
the bindtype altogether and issues an "UPGRADE!" warning.
1.37 ~ 1.40: Everything works, except for the annoying fact that DBD::SQLite
issues a spurious 'datatype mismatch' warning when one tries
to bind a >32 bit value with ivsize == 4. RT#76395
Warning is silenced for the time being within the guts of DBIC.
On the SQL_INTEGER => SQL_BIGINT change: according to
http://www.sqlite.org/datatype3.html#storageclasses all numeric types are
dynamically allocated up to 8 bytes per individual value. Thus it should be
safe and non-wasteful to bind everything as SQL_BIGINT and have SQLite deal
with storage/comparisons however it deems correct.
Peter Rabbitson [Tue, 8 Oct 2013 22:47:15 +0000]
Add explicit notes wrt DBI/DBD::SQLite dep versions
Peter Rabbitson [Tue, 8 Oct 2013 22:28:46 +0000]
Make $SIG{__WARN__} overrides more Carp::Always friendly
Dagfinn Ilmari Mannsåker [Tue, 8 Oct 2013 12:02:23 +0000]
Warn about non-integer values for all integer bind types, not just SQL_INTEGER