ソースを参照

Reverting testing changes pushed in past commit

Jose Lorenzo Rodriguez 15 年 前
コミット
3d2a732cd3

+ 14 - 1
lib/Cake/Model/Datasource/Database/Sqlserver.php

@@ -517,7 +517,20 @@ class Sqlserver extends DboSource {
 					$offset = intval($offset[1]) + intval($limitVal[1]);
 					$rOrder = $this->__switchSort($order);
 					list($order2, $rOrder) = array($this->__mapFields($order), $this->__mapFields($rOrder));
-					return "SELECT * FROM (SELECT {$limit} * FROM (SELECT TOP {$offset} {$fields} FROM {$table} {$alias} {$joins} {$conditions} {$group} {$order}) AS Set1 {$rOrder}) AS Set2 {$order2}";
+					$limit2 = str_replace('TOP', '', $limit);
+					if (!$order) {
+						$order = 'ORDER BY (SELECT NULL)';
+					}
+
+					$pagination = "
+						SELECT {$limit} * FROM (
+							SELECT {$fields}, ROW_NUMBER() OVER ({$order}) AS ssma\$rownum
+							FROM {$table} {$alias} {$joins} {$conditions} {$group}
+						) AS ssma\$sub1
+						WHERE ssma\$sub1.[ssma\$rownum] > {$limit2}
+						ORDER BY ssma\$sub1.[ssma\$rownum]
+					";
+					return $pagination;
 				} else {
 					return "SELECT {$limit} {$fields} FROM {$table} {$alias} {$joins} {$conditions} {$group} {$order}";
 				}

+ 1 - 1
lib/Cake/Test/Case/Console/Command/Task/ProjectTaskTest.php

@@ -245,7 +245,7 @@ class ProjectTaskTest extends CakeTestCase {
 		$this->assertTrue($result);
 
 		$this->assertEqual(Configure::read('Routing.prefixes'), array('my_prefix'));
-		@$file->delete();
+		$file->delete();
 	}
 
 /**