From: Jess Robinson Date: Mon, 26 Apr 2010 19:49:10 +0000 (+0000) Subject: Add test for fetching related obj/col as well X-Git-Tag: v0.08122~102 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b887f5c30589d14fc499c5354259dc7a9e95094f;p=dbsrgits%2FDBIx-Class.git Add test for fetching related obj/col as well --- diff --git a/t/sqlahacks/limit_dialects/rownumberover.t b/t/sqlahacks/limit_dialects/rownumberover.t index 42cf33e..64a68d7 100644 --- a/t/sqlahacks/limit_dialects/rownumberover.t +++ b/t/sqlahacks/limit_dialects/rownumberover.t @@ -11,9 +11,31 @@ my $schema = DBICTest->init_schema; 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 + 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' ] ], + ); + + +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