X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F95sql_maker_quote.t;h=e7fbb60eb3ebf75884d68bfefeb8e92fb744e38a;hb=98d4e1b45228b4052deb1672b47d1df19e7def28;hp=6b27c7b3e1fff168704d6a3b0974d1b98fbaa7e1;hpb=83e09b5b5718416258f0db82f8547a7116b08301;p=dbsrgits%2FDBIx-Class.git diff --git a/t/95sql_maker_quote.t b/t/95sql_maker_quote.t index 6b27c7b..e7fbb60 100644 --- a/t/95sql_maker_quote.t +++ b/t/95sql_maker_quote.t @@ -49,9 +49,7 @@ my ($sql, @bind) = $sql_maker->select( [ 'me.cdid', { count => 'tracks.cd' }, - { -select => 'me.artist' }, - { -select => 'me.title', -as => 'name' }, - { -select => { min => 'me.year' }, -as => 'me.minyear' }, + { min => 'me.year', -as => 'me.minyear' }, ], { 'artist.name' => 'Caterwauler McCrae', @@ -65,7 +63,7 @@ my ($sql, @bind) = $sql_maker->select( is_same_sql_bind( $sql, \@bind, q/ - SELECT `me`.`cdid`, COUNT( `tracks`.`cd` ), `me`.`artist`, `me`.`title` AS `name`, MIN( `me`.`year` ) AS `me`.`minyear` + SELECT `me`.`cdid`, COUNT( `tracks`.`cd` ), MIN( `me`.`year` ) AS `me`.`minyear` FROM `cd` `me` JOIN `artist` `artist` ON ( `artist`.`artistid` = `me`.`artist` ) LEFT JOIN `tracks` `tracks` ON ( `tracks`.`cd` = `me`.`cdid` ) @@ -294,7 +292,13 @@ $sql_maker->quote_char([qw/[ ]/]); ], [ { - 'count' => '*' + max => 'rank', + -as => 'max_rank', + }, + 'rank', + { + 'count' => '*', + -as => 'cnt', } ], { @@ -308,7 +312,7 @@ $sql_maker->quote_char([qw/[ ]/]); is_same_sql_bind( $sql, \@bind, - q/SELECT COUNT( * ) FROM [cd] [me] JOIN [artist] [artist] ON ( [artist].[artistid] = [me].[artist] ) WHERE ( [artist].[name] = ? AND [me].[year] = ? )/, [ ['artist.name' => 'Caterwauler McCrae'], ['me.year' => 2001] ], + q/SELECT MAX ( [rank] ) AS [max_rank], [rank], COUNT( * ) AS [cnt] FROM [cd] [me] JOIN [artist] [artist] ON ( [artist].[artistid] = [me].[artist] ) WHERE ( [artist].[name] = ? AND [me].[year] = ? )/, [ ['artist.name' => 'Caterwauler McCrae'], ['me.year' => 2001] ], 'got correct SQL and bind parameters for count query with bracket quoting' );