The final version of the test
Peter Rabbitson [Sat, 1 May 2010 09:06:15 +0000 (09:06 +0000)]
t/sqlahacks/limit_dialects/rownumberover.t

index a73e278..dc598c0 100644 (file)
@@ -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' ] ],
 );