CLONE - Improper SQL is generated for Take (pagination) for dialects which have UseMaxForLimit = true (like Oracle)

Details

Description

QueryTakeParameterSpecification has a flaw in Bind because it does not take into account the absolute limit for certain dialects which have the flag UseMaxForLimit = true. The generated SQL does not return any results when executed for a query with Take(10).Skip(10) for example.

The proper SQL must have rownum <= 20 clause instead of rownum <=10. The original QueryTakeParameterSpecification.Bind method always used the MaxRows corresponding to Take() without considering the dialect requirements.

Attached is the patch which solves the above issue for all dialects which require absolute limit (Oracle included).