Browse Source

Implemented the limit clause for SQLServer

Jose Lorenzo Rodriguez 12 years ago
parent
commit
1d201c63c4
2 changed files with 3 additions and 3 deletions
  1. 2 2
      src/Database/Dialect/SqlserverDialectTrait.php
  2. 1 1
      src/Database/Query.php

+ 2 - 2
src/Database/Dialect/SqlserverDialectTrait.php

@@ -51,8 +51,8 @@ trait SqlserverDialectTrait {
 		$offset = $query->clause('offset');
 
 		if ($limit && $offset === null) {
-			// @todo implement TOP
-			throw new \Cake\Error\NotImplementedException();
+			$query->modifier([sprintf('TOP %d', $limit)]);
+			$query->limit(null);
 		}
 
 		if ($offset) {

+ 1 - 1
src/Database/Query.php

@@ -492,7 +492,7 @@ class Query implements ExpressionInterface, IteratorAggregate {
 			$modifiers = implode(' ', $modifiers) . ' ';
 		}
 
-		return sprintf($select, $distinct, $modifiers, implode(', ', $normalized));
+		return sprintf($select, $modifiers, $distinct, implode(', ', $normalized));
 	}
 
 /**