X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fsqlmaker%2Fmysql.t;h=2755a3d5b616f5fe7913f79d937d510624a301c4;hb=ac0c08254241f41a5cb1b586fc1b24ce2d33b79b;hp=b00691fcd60bb634617289df794ea18b52ac6c5b;hpb=6b3e39473d9f38d9f5c97b6a162a95d99163c656;p=dbsrgits%2FDBIx-Class.git diff --git a/t/sqlmaker/mysql.t b/t/sqlmaker/mysql.t index b00691f..2755a3d 100644 --- a/t/sqlmaker/mysql.t +++ b/t/sqlmaker/mysql.t @@ -115,4 +115,27 @@ bless ( $schema->storage, 'DBIx::Class::Storage::DBI::mysql' ); $schema->storage->debug ($orig_debug); } +# Test support for straight joins +{ + my $cdsrc = $schema->source('CD'); + my $artrel_info = $cdsrc->relationship_info ('artist'); + $cdsrc->add_relationship( + 'straight_artist', + $artrel_info->{class}, + $artrel_info->{cond}, + { %{$artrel_info->{attrs}}, join_type => 'straight' }, + ); + is_same_sql_bind ( + $cdsrc->resultset->search({}, { prefetch => 'straight_artist' })->as_query, + '( + SELECT `me`.`cdid`, `me`.`artist`, `me`.`title`, `me`.`year`, `me`.`genreid`, `me`.`single_track`, + `straight_artist`.`artistid`, `straight_artist`.`name`, `straight_artist`.`rank`, `straight_artist`.`charfield` + FROM cd `me` + STRAIGHT_JOIN `artist` `straight_artist` ON `straight_artist`.`artistid` = `me`.`artist` + )', + [], + 'straight joins correctly supported for mysql' + ); +} + done_testing;