Introduce GOVERNANCE document and empty RESOLUTIONS file.
[dbsrgits/DBIx-Class.git] / t / prefetch / double_prefetch.t
CommitLineData
c0329273 1BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
2
3d98c75e 3use warnings;
4a233f30 4use strict;
f1952f5c 5
6use Test::More;
c0329273 7
a5a7bb73 8use DBICTest ':DiffSQL';
f1952f5c 9
10my $schema = DBICTest->init_schema();
11
f1952f5c 12# While this is a rather GIGO case, make sure it behaves as pre-103,
13# as it may result in hard-to-track bugs
14my $cds = $schema->resultset('Artist')
15 ->search_related ('cds')
16 ->search ({}, {
17 prefetch => [ 'single_track', { single_track => 'cd' } ],
18 });
19
20is_same_sql(
21 ${$cds->as_query}->[0],
22 '(
23 SELECT
24 cds.cdid, cds.artist, cds.title, cds.year, cds.genreid, cds.single_track,
3d98c75e 25 single_track.trackid, single_track.cd, single_track.position, single_track.title, single_track.last_updated_on, single_track.last_updated_at,
26 single_track_2.trackid, single_track_2.cd, single_track_2.position, single_track_2.title, single_track_2.last_updated_on, single_track_2.last_updated_at,
f1952f5c 27 cd.cdid, cd.artist, cd.title, cd.year, cd.genreid, cd.single_track
28 FROM artist me
95c73ab2 29 JOIN cd cds ON cds.artist = me.artistid
f1952f5c 30 LEFT JOIN track single_track ON single_track.trackid = cds.single_track
31 LEFT JOIN track single_track_2 ON single_track_2.trackid = cds.single_track
32 LEFT JOIN cd cd ON cd.cdid = single_track_2.cd
33 )',
34);
574dd7c9 35
36done_testing;