Changeset 5325
- Timestamp:
- 12/30/08 16:10:26 (6 months ago)
- Location:
- branches
- Files:
-
- 2 modified
-
1.0/lib/Doctrine/Connection/Mssql.php (modified) (1 diff)
-
1.1/lib/Doctrine/Connection/Mssql.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/1.0/lib/Doctrine/Connection/Mssql.php
r5180 r5325 127 127 $alias = trim(end(spliti(' as ', array_shift(explode(',', stristr($query,$order)))))); 128 128 } 129 130 $query = preg_replace('/^SELECT\s/i', 'SELECT TOP ' . ($count+$offset) . ' ', $query); 129 130 // Ticket #1259: Fix for limit-subquery in MSSQL 131 $selectRegExp = 'SELECT\s+'; 132 $selectReplace = 'SELECT '; 133 134 if (preg_match('/^SELECT(\s+)DISTINCT/i', $query)) { 135 $selectRegExp .= 'DISTINCT\s+'; 136 $selectReplace .= 'DISTINCT '; 137 } 138 139 $query = preg_replace('/^'.$selectRegExp.'\s+/i', $selectReplace . 'TOP ' . ($count+$offset) . ' ', $query); 131 140 $query = 'SELECT * FROM (SELECT TOP ' . $count . ' * FROM (' . $query . ') AS ' . $this->quoteIdentifier('inner_tbl'); 132 141 -
branches/1.1/lib/Doctrine/Connection/Mssql.php
r5180 r5325 128 128 } 129 129 130 $query = preg_replace('/^SELECT\s/i', 'SELECT TOP ' . ($count+$offset) . ' ', $query); 130 // Ticket #1259: Fix for limit-subquery in MSSQL 131 $selectRegExp = 'SELECT\s+'; 132 $selectReplace = 'SELECT '; 133 134 if (preg_match('/^SELECT(\s+)DISTINCT/i', $query)) { 135 $selectRegExp .= 'DISTINCT\s+'; 136 $selectReplace .= 'DISTINCT '; 137 } 138 139 $query = preg_replace('/^'.$selectRegExp.'\s+/i', $selectReplace . 'TOP ' . ($count+$offset) . ' ', $query); 131 140 $query = 'SELECT * FROM (SELECT TOP ' . $count . ' * FROM (' . $query . ') AS ' . $this->quoteIdentifier('inner_tbl'); 132 141