Merge 'column_attr' into 'trunk'
Nigel Metheringham [Tue, 24 Feb 2009 18:28:54 +0000 (18:28 +0000)]
r10954@hex:  nigel | 2009-02-24 12:28:54 +0000
Merged in column_attr branch:-
  Resultset attributes now include the following items to specify
  "select" and "as" values:-
     columns    - list of columns (specifies both select and as)
     +columns   - list of extra columns (specifies both select and as)
     select     - list of select values only
     +select    - list of extra select values only
     as         - list of as values only
     +as        - list of extra as values only
     include_columns - deprecated alias for +columns
  The values for columns/+columns/include_columns may include hashrefs,
  in which case the hash is interpreted as {as => select}, allowing
  queries involving functions to be specified without needing the
  information to be split into 2 separate places.

1  2 
t/60core.t

diff --cc t/60core.t
@@@ -228,9 -240,9 +240,9 @@@ cmp_ok($or_rs->count, '==', 5, 'Search 
  my $distinct_rs = $schema->resultset("CD")->search($search, { join => 'tags', distinct => 1 });
  cmp_ok($distinct_rs->all, '==', 4, 'DISTINCT search with OR ok');
  
 -#SKIP: {
 -#  skip "SQLite < 3.2.6 doesn't understand COUNT(DISTINCT())", 2
 -#    if $is_broken_sqlite;
 +SKIP: {
-   skip "SQLite < 3.2.6 doesn't understand COUNT(DISTINCT())", 1
++  skip "SQLite < 3.2.6 doesn't understand COUNT(DISTINCT())", 2
 +    if $is_broken_sqlite;
  
    my $tcount = $schema->resultset("Track")->search(
      {},
    );
    cmp_ok($tcount->next->get_column('count'), '==', 13, 'multiple column COUNT DISTINCT ok');
  
+   $tcount = $schema->resultset("Track")->search(
+     {},
+     {       
+        columns => {count => {count => {distinct => ['position', 'title']}}},
+     }
+   );
+   cmp_ok($tcount->next->get_column('count'), '==', 13, 'multiple column COUNT DISTINCT using column syntax ok');
 +}
 -#}
  my $tag_rs = $schema->resultset('Tag')->search(
                 [ { 'me.tag' => 'Cheesy' }, { 'me.tag' => 'Blue' } ]);