BATCH-1590: fix another bug in oracle paging
This commit is contained in:
@@ -101,12 +101,14 @@ public class SqlPagingQueryUtils {
|
||||
public static String generateRowNumSqlQuery(AbstractSqlPagingQueryProvider provider, String selectClause, boolean remainingPageQuery,
|
||||
String rowNumClause) {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT * FROM (SELECT ").append(selectClause).append(", ROWNUM as TMP_ROW_NUM");
|
||||
sql.append(" FROM ").append(provider.getFromClause());
|
||||
// TODO: BATCH-1590 fix this little hack to extract the alias name for a jump to item query
|
||||
String selectAlias = selectClause.replaceAll(".* (as|AS) (.*)", "$2");
|
||||
sql.append("SELECT * FROM (SELECT ").append(selectAlias).append(", ROWNUM as TMP_ROW_NUM");
|
||||
sql.append(" FROM (SELECT ").append(selectClause).append(" FROM ").append(provider.getFromClause());
|
||||
buildWhereClause(provider, remainingPageQuery, sql);
|
||||
sql.append(" ORDER BY ").append(provider.getSortKey());
|
||||
buildAscendingClause(provider, sql);
|
||||
sql.append(") WHERE ").append(rowNumClause);
|
||||
sql.append(")) WHERE ").append(rowNumClause);
|
||||
|
||||
return sql.toString();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user