use warnings;
use Test::More;
-use Test::Exception;
use lib qw(t/lib);
use DBICTest;
use DBIC::SqlMakerTest;
LEFT JOIN track tracks
ON tracks.cd = me.cdid
WHERE me.artist != ?
- ORDER BY tracks.cd
+ ORDER BY me.cdid
)',
[
$schema->storage->debug($orig_debug);
$schema->storage->debugcb(undef);
-# try to unbalance the select
-
-# first add a lone non-as-ed select
-# it should be reordered to appear at the end without throwing prefetch/bind off
-$c_rs = $c_rs->search({}, { '+select' => \[ 'me.cdid + ?', [ \ 'inTEger' => 1 ] ] });
-
# now add an unbalanced select/as pair
$c_rs = $c_rs->search ({}, {
'+select' => $cdrs->search(
'+as' => [qw/active_from active_to/],
});
-
is_same_sql_bind(
$c_rs->as_query,
'(
WHERE siblings.artist = me.artist
AND me.artist != ?
),
- tracks.trackid, tracks.cd, tracks.position, tracks.title, tracks.last_updated_on, tracks.last_updated_at,
- me.cdid + ?
+ tracks.trackid, tracks.cd, tracks.position, tracks.title, tracks.last_updated_on, tracks.last_updated_at
FROM cd me
LEFT JOIN track tracks
ON tracks.cd = me.cdid
WHERE me.artist != ?
- ORDER BY tracks.cd
+ ORDER BY me.cdid
)',
[
[ { sqlt_datatype => 'integer', dbic_colname => 'me.artist' }
=> 2 ],
- # the addition
- [ { sqlt_datatype => 'inTEger' }
- => 1 ],
-
# outher WHERE
[ { sqlt_datatype => 'integer', dbic_colname => 'me.artist' }
=> 2 ],