@Override public String generateJumpToItemQuery(int itemIndex, int pageSize) { int page = itemIndex / pageSize; int offset = (page * pageSize) - 1; offset = offset<0 ? 0 : offset; String topClause = new StringBuilder().append("LIMIT ").append(offset).append(" 1").toString(); return SqlPagingQueryUtils.generateTopJumpToQuery(this, topClause); }
@Override public String generateJumpToItemQuery(int itemIndex, int pageSize) { int page = itemIndex / pageSize; int offset = (page * pageSize) - 1; offset = offset<0 ? 0 : offset; String topClause = new StringBuilder().append("LIMIT ").append(offset).append(" 1").toString(); return SqlPagingQueryUtils.generateTopJumpToQuery(this, topClause); }
@Test public void testGenerateTopJumpToQuery() { AbstractSqlPagingQueryProvider qp = new TestSqlPagingQueryProvider("FOO", "BAR", sortKeys); assertEquals("SELECT TOP 100, 1 ID FROM BAR ORDER BY ID ASC", SqlPagingQueryUtils .generateTopJumpToQuery(qp, "TOP 100, 1")); qp.setWhereClause("BAZ IS NOT NULL"); assertEquals("SELECT TOP 100, 1 ID FROM BAR WHERE BAZ IS NOT NULL ORDER BY ID ASC", SqlPagingQueryUtils.generateTopJumpToQuery(qp, "TOP 100, 1")); }
@Test public void testGenerateTopJumpQueryDescending() { sortKeys.put("ID", Order.DESCENDING); AbstractSqlPagingQueryProvider qp = new TestSqlPagingQueryProvider("FOO", "BAR", sortKeys); String query = SqlPagingQueryUtils.generateTopJumpToQuery(qp, "TOP 100, 1"); assertTrue("Wrong query: " + query, query.contains("ID DESC")); assertEquals("Wrong query: " + query, 0, StringUtils.countOccurrencesOf(query, "ASC")); assertEquals("Wrong query: " + query, 1, StringUtils.countOccurrencesOf(query, "DESC")); qp.setWhereClause("BAZ IS NOT NULL"); assertTrue("Wrong query: " + query, query.contains("ID DESC")); }
@Override public String generateJumpToItemQuery(int itemIndex, int pageSize) { int page = itemIndex / pageSize; int offset = (page * pageSize) - 1; offset = offset<0 ? 0 : offset; String topClause = new StringBuilder().append("LIMIT ").append(offset).append(" 1").toString(); return SqlPagingQueryUtils.generateTopJumpToQuery(this, topClause); }
@Override public String generateJumpToItemQuery(int itemIndex, int pageSize) { int page = itemIndex / pageSize; int offset = (page * pageSize) - 1; offset = offset<0 ? 0 : offset; String topClause = new StringBuilder().append("LIMIT ").append(offset).append(" 1").toString(); return SqlPagingQueryUtils.generateTopJumpToQuery(this, topClause); }