X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class.git;a=blobdiff_plain;f=t%2Fsearch%2Fsubquery.t;h=c371e66de31dfbd316f43f6e33be804f22a0565c;hp=be0febf33a39bedc3c65bebe5d898b8fdc28aeef;hb=0e773352a;hpb=402ac1c9aa0b5bb5120ee8f6d8e62298a7a14223 diff --git a/t/search/subquery.t b/t/search/subquery.t index be0febf..c371e66 100644 --- a/t/search/subquery.t +++ b/t/search/subquery.t @@ -18,18 +18,20 @@ my @tests = ( attrs => { rows => 5 }, sqlbind => \[ "( SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track FROM cd me WHERE (title = ? AND year LIKE ?) LIMIT 5)", - [ title => 'buahaha' ], - [ year => '20%' ], + [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'title' } + => 'buahaha' ], + [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'year' } + => '20%' ], ], }, { rs => $cdrs, search => { - artist_id => { 'in' => $art_rs->search({}, { rows => 1 })->get_column( 'id' )->as_query }, + artistid => { 'in' => $art_rs->search({}, { rows => 1 })->get_column( 'artistid' )->as_query }, }, sqlbind => \[ - "( SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track FROM cd me WHERE artist_id IN ( SELECT me.id FROM artist me LIMIT 1 ) )", + "( SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track FROM cd me WHERE artistid IN ( SELECT me.artistid FROM artist me LIMIT 1 ) )", ], }, @@ -62,15 +64,15 @@ my @tests = ( attrs => { alias => 'cd2', from => [ - { cd2 => $cdrs->search({ id => { '>' => 20 } })->as_query }, + { cd2 => $cdrs->search({ artist => { '>' => 20 } })->as_query }, ], }, sqlbind => \[ "( SELECT cd2.cdid, cd2.artist, cd2.title, cd2.year, cd2.genreid, cd2.single_track FROM ( - SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track FROM cd me WHERE id > ? + SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track FROM cd me WHERE artist > ? ) cd2 )", - [ 'id', 20 ] + [ { sqlt_datatype => 'integer', dbic_colname => 'artist' } => 20 ] ], }, @@ -96,11 +98,11 @@ my @tests = ( alias => 'cd2', from => [ { cd2 => $cdrs->search( - { id => { '>' => 20 } }, + { artist => { '>' => 20 } }, { alias => 'cd3', from => [ - { cd3 => $cdrs->search( { id => { '<' => 40 } } )->as_query } + { cd3 => $cdrs->search( { artist => { '<' => 40 } } )->as_query } ], }, )->as_query }, ], @@ -111,11 +113,11 @@ my @tests = ( (SELECT cd3.cdid, cd3.artist, cd3.title, cd3.year, cd3.genreid, cd3.single_track FROM (SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track - FROM cd me WHERE id < ?) cd3 - WHERE id > ?) cd2 + FROM cd me WHERE artist < ?) cd3 + WHERE artist > ?) cd2 )", - [ 'id', 40 ], - [ 'id', 20 ] + [ { sqlt_datatype => 'integer', dbic_colname => 'artist' } => 40 ], + [ { dbic_colname => 'artist' } => 20 ], # no rsrc in outer manual from - hence no resolution ], }, @@ -147,8 +149,8 @@ my @tests = ( SELECT me.cdid, me.artist, me.title, me.year, me.genreid, me.single_track FROM cd me WHERE title = ? ) cd2 )", - [ 'title', - 'Thriller' + [ { sqlt_datatype => 'varchar', sqlt_size => 100, dbic_colname => 'title' } + => 'Thriller' ] ], },