public void testLimitOnly() { var expected = "select top (10) emp.id from emp order by emp.id"; var transformer = new Mssql2008PagingTransformer(-1, 10, null); var parser = new DomaSqlParser("select emp.id from emp order by emp.id"); var node = transformer.Transform(parser.Parse()); var parameters = new List <ParameterEmulator>(); var builder = new DomaSqlBuilder(node, parameters, _config); var result = builder.Build(); result.ParsedSql.Is(expected); }
public void testOffsetOnly() { var expected = "select * from ( select temp_.*, row_number() over( order by temp_.id ) as esp_rownumber_ from ( select emp.id from emp ) as temp_ ) as temp2_ where esp_rownumber_ > 5"; var transformer = new Mssql2008PagingTransformer(5, -1, null); var parser = new DomaSqlParser("select emp.id from emp order by emp.id"); var node = transformer.Transform(parser.Parse()); var parameters = new List <ParameterEmulator>(); var builder = new DomaSqlBuilder(node, parameters, _config); var result = builder.Build(); result.ParsedSql.Is(expected); }
internal override ISqlNode ToPagingSqlNode(ISqlNode node, long offset, long limit, string rowNumberColumn) { var transformer = new Mssql2008PagingTransformer(offset, limit, rowNumberColumn); return(transformer.Transform(node)); }