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
>

Reply via email to