[DBAL-146] Mssql platform TOP and DISTINCT ordering issue Created: 10/Aug/11 Updated: 09/Jan/12 Resolved: 09/Jan/12
|Fix Version/s:||2.1.6, 2.2|
|Reporter:||Karl Southern||Assignee:||Benjamin Eberlei|
Windows 2008 R2 SqlSrv 2008 R2 IIS 7.5, fully patched
When doing a limit and a distinct query, DBAL generates an SQL statement in the form of SELECT TOP X DISTINCT, which SqlSrv does not like at all. Simply moving the the DISTINCT back to the start fixes this issue.
As far as I can see this is caused by the preg_replace in doModifyLimitQuery. Attached is a patch that makes it slightly more aware. There may be other phrases to check for, but none that I've come across yet.
|Comment by Benjamin Eberlei [ 09/Jan/12 ]|