/** * Generates ORDER BY attributes based on the sort keys. * * @param provider the {@link AbstractSqlPagingQueryProvider} to be used for * used for pagination. * @return a String that can be appended to an ORDER BY clause. */ public static String buildSortClause(AbstractSqlPagingQueryProvider provider) { return buildSortClause(provider.getSortKeys()); }
@Override public String generateJumpToItemQuery(int itemIndex, int pageSize) { int page = itemIndex / pageSize; int offset = (page * pageSize); offset = offset == 0 ? 1 : offset; String sortKeySelect = this.getSortKeySelect(); return SqlPagingQueryUtils.generateRowNumSqlQueryWithNesting(this, sortKeySelect, sortKeySelect, false, "TMP_ROW_NUM = " + offset); }
/** * Generates ORDER BY attributes based on the sort keys. * * @param provider * @return a String that can be appended to an ORDER BY clause. */ private String buildSortClause(AbstractSqlPagingQueryProvider provider) { return SqlPagingQueryUtils.buildSortClause(provider.getSortKeysWithoutAliases()); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateRowNumSqlQuery(this, false, buildRowNumClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateTopSqlQuery(this, false, buildTopClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateLimitSqlQuery(this, false, buildLimitClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateLimitSqlQuery(this, false, buildLimitClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateTopSqlQuery(this, false, buildTopClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateTopSqlQuery(this, false, buildTopClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateTopSqlQuery(this, false, buildTopClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateLimitSqlQuery(this, false, buildLimitClause(pageSize)); }
@Override public String generateFirstPageQuery(int pageSize) { return SqlPagingQueryUtils.generateLimitSqlQuery(this, false, buildLimitClause(pageSize)); }
public void testOracle(){ factory.setIncrementerColumnName("ID"); assertTrue(factory.getIncrementer("oracle", "NAME") instanceof OracleSequenceMaxValueIncrementer); }
public void testNullIncrementerName(){ try{ factory.getIncrementer("db2", null); fail(); } catch(IllegalArgumentException ex){ //expected } }
public void testDb2zos(){ assertTrue(factory.getIncrementer("db2zos", "NAME") instanceof Db2MainframeMaxValueIncrementer); }
public void testSupportedDatabaseType(){ assertTrue(factory.isSupportedIncrementerType("db2")); assertTrue(factory.isSupportedIncrementerType("db2zos")); assertTrue(factory.isSupportedIncrementerType("mysql")); assertTrue(factory.isSupportedIncrementerType("derby")); assertTrue(factory.isSupportedIncrementerType("oracle")); assertTrue(factory.isSupportedIncrementerType("postgres")); assertTrue(factory.isSupportedIncrementerType("hsql")); assertTrue(factory.isSupportedIncrementerType("sqlserver")); assertTrue(factory.isSupportedIncrementerType("sybase")); assertTrue(factory.isSupportedIncrementerType("sqlite")); }
@Override public String generateRemainingPagesQuery(int pageSize) { return SqlPagingQueryUtils.generateRowNumSqlQuery(this, true, buildRowNumClause(pageSize)); }
@Override public String generateRemainingPagesQuery(int pageSize) { return SqlPagingQueryUtils.generateTopSqlQuery(this, true, buildTopClause(pageSize)); }
public void testInvalidDatabaseType(){ try{ factory.getIncrementer("invalidtype", "NAME"); fail(); } catch(IllegalArgumentException ex){ //expected } }
public void testDerby(){ assertTrue(factory.getIncrementer("derby", "NAME") instanceof DerbyMaxValueIncrementer); }