From cb01716d39f6e3f4d836d1d4898386fcf13f5f6d Mon Sep 17 00:00:00 2001 From: Sean Harvey Date: Fri, 27 Apr 2012 17:25:50 +1200 Subject: [PATCH] BUGFIX Fixing order by fields for SS 3.0 in MSSQLDatabase::sqlQueryToString() --- code/MSSQLDatabase.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/MSSQLDatabase.php b/code/MSSQLDatabase.php index 6928182..96b7471 100644 --- a/code/MSSQLDatabase.php +++ b/code/MSSQLDatabase.php @@ -1227,7 +1227,8 @@ class MSSQLDatabase extends SS_Database { // If there's a limit and an offset, then we need to do a subselect } else if($limit && $offset) { if($sqlQuery->orderby) { - $rowNumber = "ROW_NUMBER() OVER (ORDER BY $sqlQuery->orderby) AS Number"; + $orderByFields = (method_exists($sqlQuery, 'prepareOrderBy')) ? $sqlQuery->prepareOrderBy() : $sqlQuery->orderby; + $rowNumber = "ROW_NUMBER() OVER (ORDER BY $orderByFields) AS Number"; } else { $firstCol = reset($sqlQuery->select); $rowNumber = "ROW_NUMBER() OVER (ORDER BY $firstCol) AS Number";