Initial full test pass - all fetches are eager for now
[dbsrgits/DBIx-Class.git] / t / 88result_set_column.t
index 847483a..69eb911 100644 (file)
@@ -47,8 +47,8 @@ warnings_exist (sub {
 
 # test distinct propagation
 is_deeply (
-  [$rs->search ({}, { distinct => 1 })->get_column ('year')->all],
-  [$rs_year->func('distinct')],
+  [sort $rs->search ({}, { distinct => 1 })->get_column ('year')->all],
+  [sort $rs_year->func('distinct')],
   'distinct => 1 is passed through properly',
 );
 
@@ -153,4 +153,18 @@ is_deeply (
   'prefetch properly collapses amount of rows from get_column',
 );
 
+$rs->reset;
+my $pob_rs = $rs->search({}, {
+  select   => ['me.title', 'tracks.title'],
+  prefetch => 'tracks',
+  order_by => [{-asc => ['position']}],
+  group_by => ['me.title', 'tracks.title'],
+});
+is_same_sql_bind (
+  $pob_rs->get_column("me.title")->as_query,
+  '(SELECT me.title FROM (SELECT me.title, tracks.title FROM cd me LEFT JOIN track tracks ON tracks.cd = me.cdid GROUP BY me.title, tracks.title ORDER BY position ASC) me)',
+  [],
+  'Correct SQL for prefetch/order_by/group_by'
+);
+
 done_testing;