BATCH-760: added order by clause to all generated sql

This commit is contained in:
trisberg
2008-08-27 23:57:45 +00:00
parent 6ef4c3b44a
commit 31109f0a4d
15 changed files with 72 additions and 17 deletions

View File

@@ -28,7 +28,7 @@ public abstract class AbstractSqlPagingQueryProviderTests {
@Before
public void onSetUp() {
public void setUp() {
if (pagingQueryProvider == null) {
throw new IllegalArgumentException("pagingQuery{rovider can't be null");
}

View File

@@ -15,14 +15,14 @@ public class Db2PagingQueryProviderTests extends AbstractSqlPagingQueryProviderT
@Test
@Override
public void testGenerateFirstPageQuery() {
String sql = "SELECT id, name, age FROM foo WHERE bar = 1 FETCH FIRST 100 ROWS ONLY";
String sql = "SELECT id, name, age FROM foo WHERE bar = 1 ORDER BY id ASC FETCH FIRST 100 ROWS ONLY";
String s = pagingQueryProvider.generateFirstPageQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateRemainingPagesQuery() {
String sql = "SELECT id, name, age FROM foo WHERE id > ? AND bar = 1 FETCH FIRST 100 ROWS ONLY";
String sql = "SELECT id, name, age FROM foo WHERE id > ? AND bar = 1 ORDER BY id ASC FETCH FIRST 100 ROWS ONLY";
String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize);
Assert.assertEquals("", sql, s);
}

View File

@@ -30,21 +30,21 @@ public class HsqlPagingQueryProviderTests extends AbstractSqlPagingQueryProvider
@Test
@Override
public void testGenerateFirstPageQuery() {
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE bar = 1";
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateFirstPageQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateRemainingPagesQuery() {
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE id > ? AND bar = 1";
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE id > ? AND bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateJumpToItemQuery() {
String sql = "SELECT LIMIT 99 1 id AS SORT_KEY FROM foo WHERE bar = 1";
String sql = "SELECT LIMIT 99 1 id AS SORT_KEY FROM foo WHERE bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateJumpToItemQuery(145, pageSize);
Assert.assertEquals("", sql, s);
}

View File

@@ -30,21 +30,21 @@ public class MySqlPagingQueryProviderTests extends AbstractSqlPagingQueryProvide
@Test
@Override
public void testGenerateFirstPageQuery() {
String sql = "SELECT id, name, age FROM foo WHERE bar = 1 LIMIT 100";
String sql = "SELECT id, name, age FROM foo WHERE bar = 1 ORDER BY id ASC LIMIT 100";
String s = pagingQueryProvider.generateFirstPageQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateRemainingPagesQuery() {
String sql = "SELECT id, name, age FROM foo WHERE id > ? AND bar = 1 LIMIT 100";
String sql = "SELECT id, name, age FROM foo WHERE id > ? AND bar = 1 ORDER BY id ASC LIMIT 100";
String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateJumpToItemQuery() {
String sql = "SELECT id AS SORT_KEY FROM foo WHERE bar = 1 LIMIT 99 1";
String sql = "SELECT id AS SORT_KEY FROM foo WHERE bar = 1 ORDER BY id ASC LIMIT 99 1";
String s = pagingQueryProvider.generateJumpToItemQuery(145, pageSize);
Assert.assertEquals("", sql, s);
}

View File

@@ -15,14 +15,14 @@ public class OraclePagingQueryProviderTests extends AbstractSqlPagingQueryProvid
@Test
@Override
public void testGenerateFirstPageQuery() {
String sql = "SELECT id, name, age FROM foo WHERE ROWNUM <= 100 AND bar = 1";
String sql = "SELECT id, name, age FROM foo WHERE ROWNUM <= 100 AND bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateFirstPageQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateRemainingPagesQuery() {
String sql = "SELECT id, name, age FROM foo WHERE id > ? AND ROWNUM <= 100 AND bar = 1";
String sql = "SELECT id, name, age FROM foo WHERE id > ? AND ROWNUM <= 100 AND bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize);
Assert.assertEquals("", sql, s);
}

View File

@@ -0,0 +1,36 @@
package org.springframework.batch.item.database.support;
import org.junit.Test;
import org.junit.Assert;
/**
* @author Thomas Risberg
*/
public class PostgresPagingQueryProviderTests extends AbstractSqlPagingQueryProviderTests {
public PostgresPagingQueryProviderTests() {
pagingQueryProvider = new PostgresPagingQueryProvider();
}
@Test
@Override
public void testGenerateFirstPageQuery() {
String sql = "SELECT id, name, age FROM foo WHERE bar = 1 ORDER BY id ASC LIMIT 100";
String s = pagingQueryProvider.generateFirstPageQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateRemainingPagesQuery() {
String sql = "SELECT id, name, age FROM foo WHERE id > ? AND bar = 1 ORDER BY id ASC LIMIT 100";
String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateJumpToItemQuery() {
String sql = "SELECT id AS SORT_KEY FROM foo WHERE bar = 1 ORDER BY id ASC LIMIT 99 1";
String s = pagingQueryProvider.generateJumpToItemQuery(145, pageSize);
Assert.assertEquals("", sql, s);
}
}

View File

@@ -15,14 +15,14 @@ public class SqlServerPagingQueryProviderTests extends AbstractSqlPagingQueryPro
@Test
@Override
public void testGenerateFirstPageQuery() {
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE bar = 1";
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateFirstPageQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateRemainingPagesQuery() {
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE id > ? AND bar = 1";
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE id > ? AND bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize);
Assert.assertEquals("", sql, s);
}

View File

@@ -15,14 +15,14 @@ public class SybasePagingQueryProviderTests extends AbstractSqlPagingQueryProvid
@Test
@Override
public void testGenerateFirstPageQuery() {
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE bar = 1";
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateFirstPageQuery(pageSize);
Assert.assertEquals("", sql, s);
}
@Test @Override
public void testGenerateRemainingPagesQuery() {
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE id > ? AND bar = 1";
String sql = "SELECT TOP 100 id, name, age FROM foo WHERE id > ? AND bar = 1 ORDER BY id ASC";
String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize);
Assert.assertEquals("", sql, s);
}