use lib qw(t/lib);
use DBICTest;
use DBIC::SqlMakerTest;
+use DBIx::Class::SQLMaker::LimitDialects;
+
+my $ROWS = DBIx::Class::SQLMaker::LimitDialects->__rows_bindtype;
my $schema = DBICTest->init_schema();
WHERE artwork.cd_id IS NULL
OR tracks.title != ?
GROUP BY me.artistid, me.name, me.artistid + ?
- ORDER BY name DESC LIMIT 3
+ ORDER BY name DESC LIMIT ?
) me
LEFT JOIN cd cds
ON cds.artist = me.artistid
$bind_int_resolved->(), # inner select
$bind_vc_resolved->(), # inner where
$bind_int_resolved->(), # inner group_by
+ [ $ROWS => 3 ],
$bind_vc_resolved->(), # outer where
$bind_int_resolved->(), # outer group_by
],
FROM cd me
JOIN artist artist ON artist.artistid = me.artist
WHERE ( ( artist.name = ? AND me.year = ? ) )
- LIMIT 15
+ LIMIT ?
) me
LEFT JOIN track tracks
ON tracks.cd = me.cdid
WHERE ( ( artist.name = ? AND me.year = ? ) )
ORDER BY tracks.cd
)',
- [ map {
- [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'artist.name' }
- => 'foo' ],
- [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'me.year' }
- => 2010 ],
- } (1,2)],
+ [
+ [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'artist.name' } => 'foo' ],
+ [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'me.year' } => 2010 ],
+ [ $ROWS => 15 ],
+ [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'artist.name' } => 'foo' ],
+ [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'me.year' } => 2010 ],
+ ],
'No grouping of non-multiplying resultsets',
);