Matt S Trout [Sun, 17 Nov 2013 01:39:41 +0000]
_resolve_condition for DQ exprs now provides correct value_meta
Matt S Trout [Sun, 17 Nov 2013 01:38:54 +0000]
factor out _extract_top_level_conditions and use it to rewrite _stack_cond
Matt S Trout [Fri, 15 Nov 2013 19:03:50 +0000]
let rowparser introspect DQ join conds
Matt S Trout [Fri, 15 Nov 2013 19:03:18 +0000]
DBICTest result class now loading ExprDeclare
Matt S Trout [Fri, 15 Nov 2013 18:23:13 +0000]
factor out join cond to hashref code, return unresolvable conditions correctly
Matt S Trout [Fri, 15 Nov 2013 15:33:49 +0000]
make extract_fixed_values work without an alias, make _extract_fixed_condition_columns use it
Matt S Trout [Fri, 15 Nov 2013 14:54:10 +0000]
move _extract_fixed dq methods into resultsource to share between rs and row
Matt S Trout [Fri, 15 Nov 2013 13:14:44 +0000]
some support for dq in rs condition merging and populate
Matt S Trout [Fri, 15 Nov 2013 11:34:10 +0000]
move reverse_relationship_info "is join a hashref" check into __strip_relcond
Matt S Trout [Fri, 15 Nov 2013 10:07:47 +0000]
support expr {} in join cond
Matt S Trout [Fri, 15 Nov 2013 08:46:39 +0000]
allow DQ expr {} blocks as first arg to search
Peter Rabbitson [Tue, 5 Nov 2013 08:51:56 +0000]
Merge branch 'master' into dq2eb
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 [Mon, 4 Nov 2013 09:03:54 +0000]
Move database-independent mysql SQLMaker test
Matt S Trout [Mon, 4 Nov 2013 03:05:42 +0000]
set nulls => "none" in order nodes under GenericSubquery
Matt S Trout [Mon, 4 Nov 2013 00:43:13 +0000]
fixup INNER use for mysql 3
Matt S Trout [Sun, 3 Nov 2013 23:34:35 +0000]
identifier parsing to make mysql subselect wrapping work within literals
Matt S Trout [Fri, 1 Nov 2013 15:18:02 +0000]
remove dead code from _extract_order_criteria
Matt S Trout [Fri, 1 Nov 2013 15:16:59 +0000]
_extract_order_criteria can now handle ident only or full criteria
Matt S Trout [Fri, 1 Nov 2013 10:33:00 +0000]
t/prefetch/o2m_o2m_order_by_with_limit.t: literal identifier now gets quoted
Matt S Trout [Fri, 1 Nov 2013 09:37:23 +0000]
move select arg handling to _select_to_dq to enable creating $rs->_as_select_dq
Matt S Trout [Fri, 1 Nov 2013 02:58:45 +0000]
_extract_order_criteria should return column names, not full criteria
Matt S Trout [Fri, 1 Nov 2013 01:42:56 +0000]
use more DQ in DBIHacks to avoid literals everywhere
Matt S Trout [Fri, 1 Nov 2013 01:23:17 +0000]
t/sqlmaker/limit_dialects/generic_subq.t: unselected column given gensym alias
Matt S Trout [Sat, 26 Oct 2013 19:14:09 +0000]
render order by elements without quoting to get identifier names in _extract_order_criteria
Peter Rabbitson [Mon, 14 Oct 2013 10:21:11 +0000]
THROW AWAY this commit on rebase - dirty bootstrap
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!
Matt S Trout [Sat, 12 Oct 2013 19:45:55 +0000]
improve order by error message
Matt S Trout [Sat, 12 Oct 2013 18:54:35 +0000]
FetchFirst does not inject an order because me.title is unique
Matt S Trout [Sat, 12 Oct 2013 16:18:27 +0000]
t/sqlmaker/limit_dialects/toplimit.t - add missing me.id - fairly sure this was a bug
Matt S Trout [Sat, 12 Oct 2013 16:12:28 +0000]
complete murdering emulate_limit
Matt S Trout [Sat, 12 Oct 2013 16:01:39 +0000]
t/sqlmaker/quotes/quotes_newstyle.t - ORDER BY parsing means we quote, but not misquote
Matt S Trout [Sat, 12 Oct 2013 16:00:52 +0000]
t/sqlmaker/quotes/quotes.t - ORDER BY parsing means we quote, but not misquote
Matt S Trout [Sat, 12 Oct 2013 15:59:18 +0000]
clean up OracleJoins
Matt S Trout [Sat, 12 Oct 2013 15:19:11 +0000]
oraclejoins fix
Matt S Trout [Sat, 12 Oct 2013 15:14:56 +0000]
t/sqlmaker/oracle.t - parens and quoting fixes
Matt S Trout [Sat, 12 Oct 2013 15:05:00 +0000]
t/sqlmaker/limit_dialects/toplimit.t - ORDER BY title -> me.title
Matt S Trout [Sat, 12 Oct 2013 15:03:38 +0000]
t/sqlmaker/limit_dialects/rownum.t - ROWNUM -> ROWNUM AS
Matt S Trout [Sat, 12 Oct 2013 14:54:52 +0000]
t/sqlmaker/limit_dialects/rno.t - ORDER BY on column of "main" table
Matt S Trout [Sat, 12 Oct 2013 14:39:02 +0000]
t/sqlmaker/limit_dialects/fetch_first.t - minor SQL tweaks
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/)
Matt S Trout [Wed, 9 Oct 2013 18:36:13 +0000]
correctly carry DESC on simple orderings for complex prefetch
Matt S Trout [Wed, 9 Oct 2013 18:13:23 +0000]
make multicolumn IN work for update/delete
Matt S Trout [Wed, 9 Oct 2013 17:46:13 +0000]
switch _adjust_select_args_for_complex_prefetch order by handling to part-DQ
Matt S Trout [Wed, 9 Oct 2013 15:52:39 +0000]
switch having code in _count_subq_rs to DQ SQLA, update regexp
Matt S Trout [Wed, 9 Oct 2013 15:15:59 +0000]
make _resolve_aliastypes_from_select_args handle an undef select
Matt S Trout [Wed, 9 Oct 2013 15:15:44 +0000]
clear renderer objects before dicking around with them as well as after
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.
Matt S Trout [Mon, 7 Oct 2013 14:00:45 +0000]
t/53lean_startup.t - permit Module::Runtime, Data::Query::Constants, Data::Query::ExprHelpers
Matt S Trout [Mon, 7 Oct 2013 13:58:34 +0000]
t/76joins.t - join_type inner now produces just JOIN
Matt S Trout [Mon, 7 Oct 2013 13:47:25 +0000]
ident dequalification in _rs_update_delete using DQ
Matt S Trout [Mon, 7 Oct 2013 12:43:21 +0000]
RowCountOrGenericSubQ can FOAD, as per ribasushi
Matt S Trout [Mon, 7 Oct 2013 12:25:13 +0000]
fix stupid mistake in _extract_order_criteria
Matt S Trout [Mon, 7 Oct 2013 11:40:53 +0000]
switch _resolve_aliastypes_from_select_args to calling slightly saner methods
Matt S Trout [Mon, 7 Oct 2013 11:40:24 +0000]
remove vestigial dwarn
Matt S Trout [Mon, 7 Oct 2013 10:03:10 +0000]
only generate a cond for update/delete if we actually have one
Matt S Trout [Mon, 7 Oct 2013 09:56:19 +0000]
import sqlmaker work from the dq branch
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