Yuck. I really dislike SQL Servers' "TOP n" prefix ... for this same reason ... But whatever, we can't change that, so we better change our code :-D
I think it sounds like an obvious bugfix in SQLServerQueryRewriter, quite similar to the recent thing about datetime literals. Would you be able to help again Balendra? 2014-05-30 9:02 GMT+02:00 Balendra Singh <[email protected]>: > Hi, > > I am using MSSQL to fetch the records with max rows defined and distinct as > true also for the select clause as following - > > *Query q = new > Query().from(table).selectDistinct().select(column).setMaxRows(20);* > > So it is throwing* Incorrect syntax near the keyword 'DISTINCT'* error. > I debugged the code and found that > in SQLServerQueryRewriter.rewriteSelectClause(), we are appending TOP 20 > after the select keyword so with distinct it becomes *select TOP > 20 DISTINCT <rest query>* which is not correct. > It should be *select DISTINCT TOP 20 <rest query>*. > > Please provide your input on this. > > > Thanks, > Balendra >
