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
Dagfinn Ilmari Mannsåker [Tue, 8 Oct 2013 12:02:23 +0000]
Use explicit variable on loop
Peter Rabbitson [Sat, 5 Oct 2013 08:14:38 +0000]
Fix and guard against erroneous use of list context in internal DBIC code
This situation is dangerous in case the end-user employs something like
DBIx::Class::Helper::ResultSet::IgnoreWantarray
Besides the trivial fix in ::Row::copy, this commit introduces the
DBIC_ASSERT_NO_INTERNAL_WANTARRAY=1 mechanism (which will be
automatically picked up and engaged by our CI due to
eed5492f). As a
bonus the check is usable on DBIC dependencies as well.
Peter Rabbitson [Wed, 2 Oct 2013 23:15:30 +0000]
Fail early properly even in the presence of -jN
Without the reordering of prints and without the mysterious sleep() call it
seems that prove just loses the STDERR text entirely
Karen Etheridge [Wed, 2 Oct 2013 21:38:49 +0000]
fix pod formatting of this code snippet
Dagfinn Ilmari Mannsåker [Tue, 1 Oct 2013 19:41:55 +0000]
Stop using the deprecated Class::MOP::load_class()
Use MooseX::Types::LoadableClass instead, requiring the version that
fixes the constraints to not throw an exception on syntactically
invalid names, so that we can coerce a prefix onto ::Foo.
Arthur Axel 'fREW' Schmidt [Thu, 25 Jul 2013 15:03:58 +0000]
Further tradeoffs on relationship sanity checking (augments
9e7525a2)
It turns out what we did earlier is not enough - what is truly needed is
shutting off *all* checks on non-belongs_to rels. Otherwise industrious devs
will inevitable tie themselves into a circual loading order knot.
The problem (as in
9e7525a2) is not so much that we need to bend over
backwards to support circular loads, but that these problems could very
well be masked by stable hash ordering of perl < 5.18. In other words this
commit serves to prevent perfectly working code from suffering intermittent
and hard-to-debug issues when someone upgrades their perl in 2018.
Peter Rabbitson [Tue, 1 Oct 2013 06:03:05 +0000]
Fail early if full test is run in a stale checkout
Peter Rabbitson [Wed, 2 Oct 2013 06:42:48 +0000]
Proper fix for t/storage/replicated.t (augments
617474ab7e)
Instead of blindly changing the use_ok to use figured out and moved together
the pieces responsible for the dance in the 1st place
Dagfinn Ilmari Mannsåker [Tue, 1 Oct 2013 19:12:14 +0000]
Fix t/storage/replicated.t class loading problem
Do all the skip_all in BEGIN {}, and just 'use' the modules instead of
use_ok().
Dagfinn Ilmari Mannsåker [Tue, 1 Oct 2013 19:04:22 +0000]
Throw clearer exception on ->new_related() with a non-existent relationship
Peter Rabbitson [Tue, 24 Sep 2013 13:59:48 +0000]
Smoker-wide parallel testing of installed deps
Peter Rabbitson [Mon, 23 Sep 2013 19:36:03 +0000]
Better diagnostics of skipped non-essential tests
Peter Rabbitson [Mon, 23 Sep 2013 11:16:39 +0000]
Engage nuclear option of travis testing
For the record - I am not happy about having to make this commit. However the
reality is that for every basic toolchain module I fix, another two are broken
by dzil-addicted (though well meaning) folks. Since this essentially paralyzes
any useful work, resort to simply ignoring some of the meaningless tests that
are autopopulated by ill-designed dzil author bundles.
This allows to revert
655d80dd, 72cd4007, and generally streamline the set of
workarounds
A preemptive note for anyone who is concerned that I am wasting precious tuits
on a dubious goal. Please realize that one of the corner stones of my personal
desire to participate in OSS comes from disdain of forced obsolescence (i.e.
one shall upgrade each and every year because the author feels like it). If I
can not guarantee my software performs correctly on old but usable versions of
our beloved VM - a massive portion of the very reason I "keep playing" goes
away entirely. With that gone the world beyond OSS suddenly becomes
exceedingly more appealing, at least much more appealing as opposed to pushing
features into a library unusable by most real-world production environments.
Additionally whether I or anyone else has encountered users benefitting from
my efforts is not relevant - the DarkPan universe is vast.
In other words instead of seeing these activities as a mindless fetish, see
them for what they are: one of the main reasons I am a CPAN contributor to
begin with.
--ribasushi
Peter Rabbitson [Tue, 17 Sep 2013 08:42:58 +0000]
Delist Example and add QuickStart to the DocMap
Pending my review of PR#35
Scott R. Godin [Thu, 4 Apr 2013 19:41:17 +0000]
Update DocMap - include missing local Manual pages (PR#22)
some of the local Manual pages are not mentioned in the DocMap which should be,
as people will use the DocMap as a stepping point, and may thus overlook them
Peter Rabbitson [Tue, 17 Sep 2013 07:57:51 +0000]
A fixed DBD::Firebird went to CPAN as well
Peter Rabbitson [Tue, 17 Sep 2013 07:52:02 +0000]
These workarounds are thankfully no longer needed
Loading strictures will only complain about missing optdeps if used
within a t/, and dbic is (and will remain, sorry Matt) structures-free
deliberately, so there you have it
Peter Rabbitson [Tue, 17 Sep 2013 06:16:05 +0000]
This was fixed in March 2013
Karen Etheridge [Sun, 15 Sep 2013 21:12:15 +0000]
switch from Class::MOP::class_of to Moose::Util::find_meta
Peter Rabbitson [Sat, 7 Sep 2013 16:05:38 +0000]
Augment test suite with oddball relationship declarations
Among other things this tests for the issue described/solved in
9e7525a2
Peter Rabbitson [Mon, 16 Sep 2013 17:16:48 +0000]
Reorder relationship sanity checks, run them only on known loaded classes
This avoids load-order issues in contrived situations where column definitions are
split across class inheritance (which gets rather fun doe to the prorotypical
inheritance of resultsource instances themselves)
While not an immediate problem in code in the wild, the hash randomization in 5.18
now leads to random load order, and as a result more load-order combinations are
tried and can eventually fail. This should reduce these situations to a minimum,
and
79061be1 should keep us appraised of any problems while DBICT:Schema evolves
Ideally the checks will be lifted up to schema-composition time, but we are not
there yet, one yak at a time.
Peter Rabbitson [Fri, 13 Sep 2013 12:52:41 +0000]
Consolidate single-pk checks from relationship inferrence codepaths
Peter Rabbitson [Wed, 11 Sep 2013 09:31:30 +0000]
More unreachable code - we've already thrown on !defined $pri
David Steinbrunner [Fri, 13 Sep 2013 11:33:07 +0000]
typo fix
Peter Rabbitson [Fri, 13 Sep 2013 03:39:15 +0000]
MOAR workarounds - freeze CMM at a usable version
The dzil conversion introduced dependency on MBT which is extremely
hard to get going on older perls, left alone all dists made with it
Hopefully it will get fixed:
https://rt.cpan.org/Ticket/Display.html?id=88641
Peter Rabbitson [Wed, 11 Sep 2013 00:30:32 +0000]
Disable perl introduced in
ced296a8 until fixed Carp.pm is shipped
https://rt.cpan.org/Public/Bug/Display.html?id=88531
Peter Rabbitson [Sat, 7 Sep 2013 16:13:52 +0000]
Run travis-prove under taint mode
Peter Rabbitson [Sat, 7 Sep 2013 16:05:38 +0000]
Fix
79061be1 not working under -T
Peter Rabbitson [Thu, 8 Aug 2013 10:38:32 +0000]
Excise unreachable code
Peter Rabbitson [Thu, 8 Aug 2013 06:58:58 +0000]
Rename internal rsrc method to be more descriptive, stop proxying it
Peter Rabbitson [Wed, 7 Aug 2013 07:09:19 +0000]
Make sure we can load each DBICTest::Schema result individually
This will ensure tests always fail if some sort of circular load order
issue is encountered, and we won't have to wait for a particular random
loading sequence to blow up the tests
Peter Rabbitson [Mon, 9 Sep 2013 06:49:21 +0000]
Reorder travis tests by length, add 5.12.4
Peter Rabbitson [Sun, 8 Sep 2013 16:04:17 +0000]
Only run our own tests concurrently, not stuff in after_success
Peter Rabbitson [Sun, 8 Sep 2013 15:23:14 +0000]
Check that each preinstall on an old CPAN.pm completes
Peter Rabbitson [Sun, 8 Sep 2013 10:40:05 +0000]
EU::MM on < 5.8.9 got fixed
Peter Rabbitson [Sun, 8 Sep 2013 12:10:03 +0000]
Change CPAN mirror again - metacpan is a complete backpan-backed mirror
This way the deletion of the usable version of Tree::DAG_Node won't
affect testing
Peter Rabbitson [Fri, 6 Sep 2013 09:04:49 +0000]
Lock down Tree::DAG_Node version until new Test::Warn appears
This will make travis green again
https://github.com/chorny/test-warn/pull/4
(also https://rt.cpan.org/Public/Bug/Display.html?id=88435)
Peter Rabbitson [Mon, 2 Sep 2013 05:36:30 +0000]
Fix typoed variable (just remote the shorthand entirely) ^Simon^++
Olly Betts [Thu, 16 May 2013 22:00:00 +0000]
More typo fixes
Peter Rabbitson [Thu, 29 Aug 2013 01:57:12 +0000]
Changes for
113e8d16 and 64c50e81
Peter Rabbitson [Thu, 29 Aug 2013 01:40:52 +0000]
Prevent DBD::Firebird and DBD::InterBase from colliding on same DSN
Peter Rabbitson [Thu, 29 Aug 2013 02:41:00 +0000]
Manpages are of no use on travis
Peter Rabbitson [Thu, 29 Aug 2013 01:00:39 +0000]
Do one poisoned env testrun with a threaded perl
Peter Rabbitson [Thu, 29 Aug 2013 00:50:25 +0000]
Only smoke blead-pan on allowed-to-fail runs
Peter Rabbitson [Wed, 28 Aug 2013 12:01:00 +0000]
Move bleadperl to 'fail ok' submatrix - too much churn
Peter Rabbitson [Thu, 29 Aug 2013 00:09:01 +0000]
Work around https://rt.cpan.org/Ticket/Display.html?id=88222
Peter Rabbitson [Mon, 26 Aug 2013 07:53:21 +0000]
Temporary work around yet another cpanm issue
Peter Rabbitson [Mon, 26 Aug 2013 03:06:59 +0000]
Use the same mirror for cpanm as we use for CPAN
Peter Rabbitson [Mon, 26 Aug 2013 02:33:27 +0000]
Switch travis-perl tests to 5.18
Peter Rabbitson [Mon, 26 Aug 2013 04:47:46 +0000]
I did manage to screw up locking in parallel testing after all
We try to grab a new engine lock within the same test before releasing
the one for the previous engine
Peter Rabbitson [Mon, 26 Aug 2013 01:21:13 +0000]
Adjust DBD::Firebird travis init
Peter Rabbitson [Mon, 26 Aug 2013 12:33:37 +0000]
Sync Example.pod with reality, though in fairness it just needs to die...
Peter Rabbitson [Mon, 26 Aug 2013 12:19:43 +0000]
Automatically regenerate the example ddl/db from the example Schema
Peter Rabbitson [Mon, 26 Aug 2013 11:05:52 +0000]
Generalize the SQLite DDL generation tool (see next commit)
Peter Rabbitson [Mon, 26 Aug 2013 11:10:59 +0000]
Update example Result classes for proper DDL generation
Also given that this is one of the first things a newbie sees, it is prudent
to stick to canonical definition
Peter Rabbitson [Mon, 26 Aug 2013 12:18:36 +0000]
Teach the example scripts how to find their DB from anywhere
Peter Rabbitson [Mon, 26 Aug 2013 11:58:22 +0000]
These comments are woefully outdated
Setting DBIC_TRACE=1 won't help either - we use the fast-path insert which
mean the user won't see anything
Peter Rabbitson [Mon, 26 Aug 2013 01:57:42 +0000]
Standardize examples/docs on Schema::Loader schema naming
A new user is very likely to encounter this naming convention these days
Peter Rabbitson [Mon, 26 Aug 2013 02:01:22 +0000]
New podlators are allergic to leading link space
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Thu, 4 Apr 2013 05:53:52 +0000]
Extra paragraph dropped from
113e8d16 for some reason
Peter Rabbitson [Thu, 22 Aug 2013 03:49:31 +0000]
Fixup weird wording introduced in
54e4be92
Peter Rabbitson [Thu, 22 Aug 2013 03:31:27 +0000]
Apparently on_failure email flag affects the original author as well
Without this only the first committer who broke stuff will get an email
the rest of the breakage will remain silent
Peter Rabbitson [Thu, 22 Aug 2013 03:17:15 +0000]
Fix name mangle in Replicated.pm broken by
e8c31aec and then by 4a0eed52
Peter Rabbitson [Thu, 22 Aug 2013 03:03:11 +0000]
OCD - undo some incorrect changes of non-typos from
4a0eed52f
David Steinbrunner [Tue, 6 Aug 2013 11:14:21 +0000]
typo fixes
Peter Rabbitson [Mon, 22 Jul 2013 05:08:18 +0000]
Augment
84d8c2ad so that the custom join specification isn't so prominent
Also add a warning to (hopefully) deter folks from using these for simple
shit, where a schema redesign would suffice.
Peter Rabbitson [Mon, 22 Jul 2013 04:26:25 +0000]
perlbrew exits with 0 if `perlbrew use` fails :(
Peter Rabbitson [Mon, 22 Jul 2013 03:36:42 +0000]
Ignore stderr in extract_prereqs - only rely on $?
Peter Rabbitson [Mon, 22 Jul 2013 03:06:19 +0000]
Install EU::CB in a separate step as to not tickle an old CPAN bug
Older CPAN.pm had a problem with the circular dependency resolution firing
erroneously *after* everything was successfully installed, e.g.:
https://s3.amazonaws.com/archive.travis-ci.org/jobs/9336470/log.txt
(scroll to the end)
Peter Rabbitson [Sun, 21 Jul 2013 11:48:00 +0000]
Fix test error failing after "undef\n=>" was fixed to stringify
http://perl5.git.perl.org/perl.git/commit/
21791330af
Peter Rabbitson [Sun, 21 Jul 2013 07:54:58 +0000]
Temporary inslatt Pod::POM via cpan
Pod::POM installation tickles a toolchain deficiency
https://rt.cpan.org/Ticket/Display.html?id=87124
https://github.com/miyagawa/cpanminus/issues/291
Peter Rabbitson [Sat, 20 Jul 2013 21:57:40 +0000]
Allow spaces in parallel installation module spec
Peter Rabbitson [Sat, 13 Jul 2013 02:25:29 +0000]
Turns out Travis CPAN mirror is not local, add a fallback
See https://github.com/travis-ci/travis-cookbooks/commit/
143a57d2ecee#diff-1
Sideffect of an empty PERL_CPANM_OPT was tickling this bug:
https://github.com/miyagawa/cpanminus/issues/288
Peter Rabbitson [Sat, 13 Jul 2013 01:50:52 +0000]
Self-cleaning is not yet entirely stable - back it out for the time being
As a side-effect resolves RT#86267
Peter Rabbitson [Thu, 4 Jul 2013 17:17:29 +0000]
Tests no longer fail if $ENV{DBI_DSN} is set
e.g. http://www.cpantesters.org/cpan/report/
ef15dfbc-b80d-11e2-a6f8-e33723969de0
Peter Rabbitson [Thu, 4 Jul 2013 15:15:16 +0000]
Propagate quote_names setting to SQLite SQLT producer
Dagfinn Ilmari Mannsåker [Mon, 15 Jul 2013 14:10:34 +0000]
Fix POD typo Retur -> Return
Dagfinn Ilmari Mannsåker [Mon, 15 Jul 2013 14:09:58 +0000]
Fix glossary link
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 12:07:24 +0000]
point out where in the docs a user is most likely to spend reading time
Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯 [Sun, 24 Mar 2013 11:38:23 +0000]
quick-start documentation
* ready-to-use database file and schema classes
* introduce CD year column (already used in ::ResultSet docs)
* link from main synopsis
Dagfinn Ilmari Mannsåker [Fri, 21 Jun 2013 14:58:18 +0000]
Don't try to run pperl --kill if we didn't find PPerl
There might be an unrelated pperl binary in the user's path, so avoid
running it unless we actually have PPerl.pm installed
D. Ilmari Mannsåker [Mon, 3 Jun 2013 14:27:46 +0000]
Add header for custom coderef join conditions
The conditon docs are huge, making it hard to point people to the
coderef syntax when they need it, so add a header that can be linked
directly to.
Alexander Hartmaier [Wed, 8 May 2013 16:09:35 +0000]
Replace $row with $result in all docs
to be consistent and to clarify various return values
for example:
$result->update() returns $result
before the example was
$row->update() returns $result
which doesn't make clear that it's the same object the method was called on
Alexander Hartmaier [Wed, 8 May 2013 15:39:12 +0000]
fixed xt/pod.t failure in Row.pm
Peter Rabbitson [Mon, 29 Apr 2013 22:00:01 +0000]
Release v0.08250
Peter Rabbitson [Mon, 29 Apr 2013 21:49:30 +0000]
This stuff is done (either now or earlier)
Peter Rabbitson [Fri, 26 Apr 2013 16:10:06 +0000]
Kill intra-devrel changelog entry
The log is large enough as it is, hence keeping only things that
are relevant when upgrading from 0.08210 to current
Matt Phillips [Fri, 26 Apr 2013 13:59:52 +0000]
devrel 0.08249_05
Peter Rabbitson [Fri, 26 Apr 2013 11:57:38 +0000]
Do not invoke the pk accessor in filter deflate
Matt Phillips [Thu, 25 Apr 2013 17:56:36 +0000]
Stop adding empty caches to resultsets chained off prefetched objects
Prior to ce55688, the related_rs cache loading mechanism only conditionally
loaded if the base rs cache was defined. After this was removed an empty
arrayref (meaning "no related results") could potentially be set as the cache.
This commit ensures the cache is only set when there are actual cache results.
Jordan Metzmeier [Wed, 24 Apr 2013 14:58:39 +0000]
fix syntax error in pod documentation for find_or_new
Peter Rabbitson [Wed, 24 Apr 2013 05:19:33 +0000]
Devrel 0.08249_04
Peter Rabbitson [Wed, 24 Apr 2013 03:31:55 +0000]
Unbreak devrel version checks
One needs to supply the literal (string) value of a devrel to VERSION()
otherwise the checks fail. However in this case 5.8 emits annoying warnings.
Abstract the whole insanity in a neatish util function and use that.
Peter Rabbitson [Wed, 24 Apr 2013 03:23:43 +0000]
Stop instantiating a cursor on single() use
This minor pessimization snuck in all the way back in
4e9fc3f3.
I am actually not entirely sure whether this isn't a bug - after
all this way Cursor::Cached and friends are bypassed. However
0.08210 has an identical behavior, thus sod it
Peter Rabbitson [Wed, 24 Apr 2013 02:47:32 +0000]
Fix very subtle but deadly bug in single()
The _select_args result storage introduced in
975b573a did not take
into account that single() operates on the $rs itself, not a fresh
one. As such the first single() arg would be carried around and then
applied to subsequent next() etc iterations. Stop that, as we only
need the attrs in case of collapse => 1 and single() explicitly does
not support this.
While at it do not reuse the cached args at all - while it *appears*
safe, it may very well not be. Leave this for another day
Peter Rabbitson [Wed, 24 Apr 2013 03:32:42 +0000]
Require bugfixed (and a tad faster) CAG