[Bast-commits] r9221 - DBIx-Class/0.08/trunk/t/sqlahacks/limit_dialects

castaway at dev.catalyst.perl.org castaway at dev.catalyst.perl.org
Mon Apr 26 19:49:10 GMT 2010


Author: castaway
Date: 2010-04-26 20:49:10 +0100 (Mon, 26 Apr 2010)
New Revision: 9221

Modified:
   DBIx-Class/0.08/trunk/t/sqlahacks/limit_dialects/rownumberover.t
Log:
Add test for fetching related obj/col as well


Modified: DBIx-Class/0.08/trunk/t/sqlahacks/limit_dialects/rownumberover.t
===================================================================
--- DBIx-Class/0.08/trunk/t/sqlahacks/limit_dialects/rownumberover.t	2010-04-26 19:45:32 UTC (rev 9220)
+++ DBIx-Class/0.08/trunk/t/sqlahacks/limit_dialects/rownumberover.t	2010-04-26 19:49:10 UTC (rev 9221)
@@ -11,9 +11,9 @@
 delete $schema->storage->_sql_maker->{_cached_syntax};
 $schema->storage->_sql_maker->limit_dialect ('RowNumberOver');
 
-my $rs_selectas_rno = $schema->resultset ('BooksInLibrary')->search ({}, { '+select' => ['owner.name'], '+as' => ['owner_name'], join => 'owner', rows => 1 });
+my $rs_selectas_col = $schema->resultset ('BooksInLibrary')->search ({}, { '+select' => ['owner.name'], '+as' => ['owner.name'], join => 'owner', rows => 1 });
 
-is_same_sql_bind( $rs_selectas_rno->search({})->as_query,
+is_same_sql_bind( $rs_selectas_col->search({})->as_query,
                   "(SELECT 
                       me.id, me.source, me.owner, me.title, me.price, 
                       owner.name 
@@ -33,4 +33,26 @@
                 );
 
 
+my $rs_selectas_rel = $schema->resultset ('BooksInLibrary')->search ({}, { '+select' => ['owner.name'], '+as' => ['owner_name'], join => 'owner', rows => 1 });
+
+is_same_sql_bind( $rs_selectas_rel->search({})->as_query,
+                  "(SELECT 
+                      me.id, me.source, me.owner, me.title, me.price, 
+                      owner.name 
+                    FROM 
+                      (SELECT me.*, 
+                       ROW_NUMBER() OVER( ) AS rno__row__index 
+                       FROM 
+                         (SELECT me.id, me.source, me.owner, me.title, me.price, owner.name 
+                          FROM books me 
+                          JOIN owners owner ON owner.id = me.owner 
+                          WHERE ( source = ? ) 
+                         ) me 
+                       ) me 
+                    JOIN owners owner ON owner.id = me.owner
+                    WHERE rno__row__index BETWEEN 1 AND 1 )",
+                  [  [ 'source', 'Library' ] ],
+                );
+
+
 done_testing;




More information about the Bast-commits mailing list