There is no constructor with params for AbstractLimitHandler in 5.2.6.
I'm confused with your concerns over AbstractLimitHandler. The pull request extends shows that SQLServer2012LimitHandler extends the SQLServer2005LimitHandler, which is done because SQL Server 2012 states that if an ORDER BY clause does not exist, we'd have to use the existing pagination logic since the OFFSET/FETCH logic cannot be used. This highlights a problem with your above solution because you're blindly applying the OFFSET/MATCH clause if pagination is being used, but you aren't accounting for the ORDER BY clause requirement.
Also currently SQLServer2012Dialect does not have method buildLimitHandler. Looks like it was also changed in 5.2.8.
Yep, these are changes which were necessary to add SQLServer2012LimitHandler logic. |