From: Peter Rabbitson Date: Sat, 1 May 2010 09:06:15 +0000 (+0000) Subject: The final version of the test X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=760545facb544a496539955fcc4ed5dd91faba91;p=dbsrgits%2FDBIx-Class-Historic.git The final version of the test --- diff --git a/t/sqlahacks/limit_dialects/rownumberover.t b/t/sqlahacks/limit_dialects/rownumberover.t index a73e278..dc598c0 100644 --- a/t/sqlahacks/limit_dialects/rownumberover.t +++ b/t/sqlahacks/limit_dialects/rownumberover.t @@ -20,51 +20,53 @@ my $rs_selectas_col = $schema->resultset ('BooksInLibrary')->search ({}, { is_same_sql_bind( $rs_selectas_col->as_query, '( - SELECT me.id, me.source, me.owner, me.title, me.price, - owner.name + SELECT id, source, owner, title, price, + owner__name FROM ( - SELECT me.*, + SELECT id, source, owner, title, price, + owner__name, ROW_NUMBER() OVER( ) AS rno__row__index FROM ( SELECT me.id, me.source, me.owner, me.title, me.price, - owner.name + owner.name AS 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' ] ], ); +$schema->storage->_sql_maker->quote_char ([qw/ [ ] /]); +$schema->storage->_sql_maker->name_sep ('.'); my $rs_selectas_rel = $schema->resultset ('BooksInLibrary')->search ({}, { '+select' => ['owner.name'], '+as' => ['owner_name'], join => 'owner', - rows => 1 + rows => 1, }); is_same_sql_bind( $rs_selectas_rel->as_query, '( - SELECT me.id, me.source, me.owner, me.title, me.price, - owner.name + SELECT [id], [source], [owner], [title], [price], + [owner_name] FROM ( - SELECT me.*, - ROW_NUMBER() OVER( ) AS rno__row__index + SELECT [id], [source], [owner], [title], [price], + [owner_name], + 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 + SELECT [me].[id], [me].[source], [me].[owner], [me].[title], [me].[price], + [owner].[name] AS [owner_name] + FROM [books] [me] + JOIN [owners] [owner] ON [owner].[id] = [me].[owner] + WHERE ( [source] = ? ) + ) [me] + ) [me] + WHERE [rno__row__index] BETWEEN 1 AND 1 )', [ [ 'source', 'Library' ] ], );