X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fsqlmaker%2Flimit_dialects%2Frownum.t;h=b7bb9df5c8142fa9e8104cfde419a30b1fea4015;hb=6c7ca96253b07f8ac9b6940ac35368d25ed3b139;hp=2f46599e4dcf0c2e9445cac6162fa048255bb788;hpb=90ed89cbd9951c4eeccb227b586b200eb34574d2;p=dbsrgits%2FDBIx-Class.git diff --git a/t/sqlmaker/limit_dialects/rownum.t b/t/sqlmaker/limit_dialects/rownum.t index 2f46599..b7bb9df 100644 --- a/t/sqlmaker/limit_dialects/rownum.t +++ b/t/sqlmaker/limit_dialects/rownum.t @@ -1,11 +1,12 @@ +BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) } + use strict; use warnings; use Test::More; -use lib qw(t/lib); -use DBICTest; -use DBIC::SqlMakerTest; + +use DBICTest ':DiffSQL'; use DBIx::Class::SQLMaker::LimitDialects; my ($TOTAL, $OFFSET, $ROWS) = ( @@ -19,6 +20,12 @@ $s->storage->sql_maker->limit_dialect ('RowNum'); my $rs = $s->resultset ('CD')->search({ id => 1 }); +# important for a test below, never traversed +$rs->result_source->add_relationship( + ends_with_me => 'DBICTest::Schema::Artist', sub {} +); + + my $where_bind = [ { dbic_colname => 'id' }, 1 ]; for my $test_set ( @@ -29,16 +36,16 @@ for my $test_set ( offset => 3, columns => [ { id => 'foo.id' }, - { 'bar.id' => 'bar.id' }, + { 'artist.id' => 'bar.id' }, { bleh => \'TO_CHAR (foo.womble, "blah")' }, ] }), sql => '( - SELECT id, bar__id, bleh + SELECT id, artist__id, bleh FROM ( - SELECT id, bar__id, bleh, ROWNUM rownum__index + SELECT id, artist__id, bleh, ROWNUM AS rownum__index FROM ( - SELECT foo.id AS id, bar.id AS bar__id, TO_CHAR (foo.womble, "blah") AS bleh + SELECT foo.id AS id, bar.id AS artist__id, TO_CHAR (foo.womble, "blah") AS bleh FROM cd me WHERE id = ? ) me @@ -56,17 +63,17 @@ for my $test_set ( offset => 3, columns => [ { id => 'foo.id' }, - { 'bar.id' => 'bar.id' }, + { 'artist.id' => 'bar.id' }, { bleh => \'TO_CHAR (foo.womble, "blah")' }, ], order_by => [qw( artist title )], }), sql => '( - SELECT id, bar__id, bleh + SELECT id, artist__id, bleh FROM ( - SELECT id, bar__id, bleh, ROWNUM rownum__index + SELECT id, artist__id, bleh, ROWNUM AS rownum__index FROM ( - SELECT foo.id AS id, bar.id AS bar__id, TO_CHAR(foo.womble, "blah") AS bleh + SELECT foo.id AS id, bar.id AS artist__id, TO_CHAR(foo.womble, "blah") AS bleh FROM cd me WHERE id = ? ORDER BY artist, title @@ -88,17 +95,17 @@ for my $test_set ( offset => 3, columns => [ { id => 'foo.id' }, - { 'bar.id' => 'bar.id' }, + { 'artist.id' => 'bar.id' }, { bleh => \'TO_CHAR (foo.womble, "blah")' }, ], order_by => 'artist', }), sql => '( - SELECT id, bar__id, bleh + SELECT id, artist__id, bleh FROM ( - SELECT id, bar__id, bleh, ROWNUM rownum__index + SELECT id, artist__id, bleh, ROWNUM AS rownum__index FROM ( - SELECT foo.id AS id, bar.id AS bar__id, TO_CHAR(foo.womble, "blah") AS bleh + SELECT foo.id AS id, bar.id AS artist__id, TO_CHAR(foo.womble, "blah") AS bleh FROM cd me WHERE id = ? ORDER BY artist @@ -124,7 +131,7 @@ for my $test_set ( sql => '( SELECT id, ends_with_me__id FROM ( - SELECT id, ends_with_me__id, ROWNUM rownum__index + SELECT id, ends_with_me__id, ROWNUM AS rownum__index FROM ( SELECT foo.id AS id, ends_with_me.id AS ends_with_me__id FROM cd me @@ -146,17 +153,17 @@ for my $test_set ( { id => 'foo.id' }, { 'ends_with_me.id' => 'ends_with_me.id' }, ], - order_by => [qw( artist title )], + order_by => [qw( year artist title )], }), sql => '( SELECT id, ends_with_me__id FROM ( - SELECT id, ends_with_me__id, ROWNUM rownum__index + SELECT id, ends_with_me__id, ROWNUM AS rownum__index FROM ( SELECT foo.id AS id, ends_with_me.id AS ends_with_me__id FROM cd me WHERE id = ? - ORDER BY artist, title + ORDER BY year, artist, title ) me WHERE ROWNUM <= ? ) me @@ -196,7 +203,7 @@ is_same_sql_bind( '( SELECT owner_name, owner_books FROM ( - SELECT owner_name, owner_books, ROWNUM rownum__index + SELECT owner_name, owner_books, ROWNUM AS rownum__index FROM ( SELECT owner.name AS owner_name, ( SELECT COUNT( * ) FROM owners owner WHERE (count.id = owner.id)) AS owner_books