diff --git a/spring-batch-infrastructure-tests/src/test/resources/batch-oracle.properties b/spring-batch-infrastructure-tests/src/test/resources/batch-oracle.properties index 82d0fd0fd..74c3d8b78 100644 --- a/spring-batch-infrastructure-tests/src/test/resources/batch-oracle.properties +++ b/spring-batch-infrastructure-tests/src/test/resources/batch-oracle.properties @@ -1,7 +1,7 @@ # Placeholders batch.* # for Oracle: batch.jdbc.driver=oracle.jdbc.OracleDriver -batch.jdbc.url=jdbc:oracle:thin:@localhost:1521:xe +batch.jdbc.url=jdbc:oracle:thin:@oracle:1521:xe batch.jdbc.user=spring batch.jdbc.password=spring batch.jdbc.testWhileIdle=false diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java index e01944ca0..e20d4a3c0 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/JdbcPagingItemReader.java @@ -188,8 +188,7 @@ public class JdbcPagingItemReader extends AbstractPagingItemReader impleme PagingRowMapper rowCallback = new PagingRowMapper(); - @SuppressWarnings("unchecked") - List query; + List query; if (getPage() == 0) { if (logger.isDebugEnabled()) { @@ -225,7 +224,7 @@ public class JdbcPagingItemReader extends AbstractPagingItemReader impleme } @SuppressWarnings("unchecked") - Collection result = query; + Collection result = (Collection) query; results.addAll(result); } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlPagingQueryUtils.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlPagingQueryUtils.java index 7abeaf474..b154cdf03 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlPagingQueryUtils.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlPagingQueryUtils.java @@ -116,13 +116,13 @@ public class SqlPagingQueryUtils { String selectClause, boolean remainingPageQuery, String rowNumClause) { return generateRowNumSqlQueryWithNesting(provider, selectClause, selectClause, remainingPageQuery, rowNumClause); } - - + public static String generateRowNumSqlQueryWithNesting(AbstractSqlPagingQueryProvider provider, String innerSelectClause, String outerSelectClause, boolean remainingPageQuery, String rowNumClause) { StringBuilder sql = new StringBuilder(); - sql.append("SELECT * FROM (SELECT ").append(outerSelectClause).append(", ROWNUM as TMP_ROW_NUM"); + sql.append("SELECT ").append(outerSelectClause).append(" FROM (SELECT ").append(outerSelectClause) + .append(", ROWNUM as TMP_ROW_NUM"); sql.append(" FROM (SELECT ").append(innerSelectClause).append(" FROM ").append(provider.getFromClause()); buildWhereClause(provider, remainingPageQuery, sql); sql.append(" ORDER BY ").append(provider.getSortKey()); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderTests.java index 61d68f121..fe2fff029 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderTests.java @@ -33,14 +33,14 @@ public class OraclePagingQueryProviderTests extends AbstractSqlPagingQueryProvid @Test @Override public void testGenerateJumpToItemQuery() { - String sql = "SELECT * FROM (SELECT SORT_KEY, ROWNUM as TMP_ROW_NUM FROM (SELECT id AS SORT_KEY FROM foo WHERE bar = 1 ORDER BY id ASC)) WHERE TMP_ROW_NUM = 100"; + String sql = "SELECT SORT_KEY FROM (SELECT SORT_KEY, ROWNUM as TMP_ROW_NUM FROM (SELECT id AS SORT_KEY FROM foo WHERE bar = 1 ORDER BY id ASC)) WHERE TMP_ROW_NUM = 100"; String s = pagingQueryProvider.generateJumpToItemQuery(145, pageSize); Assert.assertEquals(sql, s); } @Test @Override public void testGenerateJumpToItemQueryForFirstPage() { - String sql = "SELECT * FROM (SELECT SORT_KEY, ROWNUM as TMP_ROW_NUM FROM (SELECT id AS SORT_KEY FROM foo WHERE bar = 1 ORDER BY id ASC)) WHERE TMP_ROW_NUM = 1"; + String sql = "SELECT SORT_KEY FROM (SELECT SORT_KEY, ROWNUM as TMP_ROW_NUM FROM (SELECT id AS SORT_KEY FROM foo WHERE bar = 1 ORDER BY id ASC)) WHERE TMP_ROW_NUM = 1"; String s = pagingQueryProvider.generateJumpToItemQuery(45, pageSize); Assert.assertEquals(sql, s); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SqlPagingQueryUtilsTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SqlPagingQueryUtilsTests.java index a1dc7fcd7..066f8a26d 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SqlPagingQueryUtilsTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SqlPagingQueryUtilsTests.java @@ -79,7 +79,7 @@ public class SqlPagingQueryUtilsTests { public void testGenerateRowNumSqlQueryWithNesting() { AbstractSqlPagingQueryProvider qp = new TestSqlPagingQueryProvider("FOO", "BAR", "ID"); assertEquals( - "SELECT * FROM (SELECT FOO, ROWNUM as TMP_ROW_NUM FROM (SELECT FOO FROM BAR ORDER BY ID ASC)) WHERE ROWNUMBER <= 100", + "SELECT FOO FROM (SELECT FOO, ROWNUM as TMP_ROW_NUM FROM (SELECT FOO FROM BAR ORDER BY ID ASC)) WHERE ROWNUMBER <= 100", SqlPagingQueryUtils.generateRowNumSqlQueryWithNesting(qp, "FOO", false, "ROWNUMBER <= 100")); }