diff --git a/src/main/java/com/alibaba/druid/sql/PagerUtils.java b/src/main/java/com/alibaba/druid/sql/PagerUtils.java index 764543b3d4..a1dfa98f6d 100644 --- a/src/main/java/com/alibaba/druid/sql/PagerUtils.java +++ b/src/main/java/com/alibaba/druid/sql/PagerUtils.java @@ -123,10 +123,10 @@ public class PagerUtils { } OracleSelectQueryBlock countQueryBlock = new OracleSelectQueryBlock(); - countQueryBlock.getSelectList().add(new SQLSelectItem(new SQLPropertyExpr(new SQLIdentifierExpr("_X"), "*"))); - countQueryBlock.getSelectList().add(new SQLSelectItem(new SQLIdentifierExpr("ROWNUM"), "_RN")); + countQueryBlock.getSelectList().add(new SQLSelectItem(new SQLPropertyExpr(new SQLIdentifierExpr("XX"), "*"))); + countQueryBlock.getSelectList().add(new SQLSelectItem(new SQLIdentifierExpr("ROWNUM"), "RN")); - countQueryBlock.setFrom(new SQLSubqueryTableSource(select, "_X")); + countQueryBlock.setFrom(new SQLSubqueryTableSource(select, "XX")); countQueryBlock.setWhere(new SQLBinaryOpExpr(new SQLIdentifierExpr("ROWNUM"), // SQLBinaryOperator.LessThanOrEqual, // new SQLNumberExpr(count + offset))); @@ -136,8 +136,8 @@ public class PagerUtils { OracleSelectQueryBlock offsetQueryBlock = new OracleSelectQueryBlock(); offsetQueryBlock.getSelectList().add(new SQLSelectItem(new SQLAllColumnExpr())); - offsetQueryBlock.setFrom(new SQLSubqueryTableSource(new SQLSelect(countQueryBlock), "_XX")); - offsetQueryBlock.setWhere(new SQLBinaryOpExpr(new SQLIdentifierExpr("_RN"), // + offsetQueryBlock.setFrom(new SQLSubqueryTableSource(new SQLSelect(countQueryBlock), "XXX")); + offsetQueryBlock.setWhere(new SQLBinaryOpExpr(new SQLIdentifierExpr("RN"), // SQLBinaryOperator.GreaterThan, // new SQLNumberExpr(offset))); diff --git a/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java b/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java index 2870421b72..cd503d48da 100644 --- a/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java +++ b/src/main/java/com/alibaba/druid/support/http/StatViewServlet.java @@ -348,10 +348,10 @@ public class StatViewServlet extends HttpServlet { if (isRequireAuth() && session.getAttribute(SESSION_USER_KEY) == null && !("/login.html".equals(path) || path.startsWith("/css") || path.startsWith("/js") || path.startsWith("/img"))) { - if (contextPath == null || contextPath.equals("") || contextPath.equals("/")) { - response.sendRedirect("/login.html"); + if (contextPath == null || contextPath.equals("") || contextPath.equals("/")) { + response.sendRedirect("/druid/login.html"); } else { - response.sendRedirect("login.html"); + response.sendRedirect("druid/login.html"); } return; } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Limit_oracle_0.java b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Limit_oracle_0.java index 6481dca199..5f6798739a 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Limit_oracle_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/PagerUtilsTest_Limit_oracle_0.java @@ -12,11 +12,11 @@ public class PagerUtilsTest_Limit_oracle_0 extends TestCase { public void test_oracle_oderby_0() throws Exception { String sql = "select * from t order by id"; String result = PagerUtils.limit(sql, JdbcConstants.ORACLE, 0, 10); - Assert.assertEquals("SELECT _X.*, ROWNUM AS _RN" + // + Assert.assertEquals("SELECT XX.*, ROWNUM AS RN" + // "\nFROM (SELECT *" + // "\n\tFROM t" + // "\n\tORDER BY id" + // - "\n\t) _X" + // + "\n\t) XX" + // "\nWHERE ROWNUM <= 10", result); } @@ -32,39 +32,39 @@ public class PagerUtilsTest_Limit_oracle_0 extends TestCase { String sql = "select * from t"; String result = PagerUtils.limit(sql, JdbcConstants.ORACLE, 10, 10); Assert.assertEquals("SELECT *" + // - "\nFROM (SELECT _X.*, ROWNUM AS _RN" + // + "\nFROM (SELECT XX.*, ROWNUM AS RN" + // "\n\tFROM (SELECT *" + // "\n\t\tFROM t" + // - "\n\t\t) _X" + // + "\n\t\t) XX" + // "\n\tWHERE ROWNUM <= 20" + // - "\n\t) _XX" + // - "\nWHERE _RN > 10", result); + "\n\t) XXX" + // + "\nWHERE RN > 10", result); } public void test_oracle_2() throws Exception { String sql = "select * from t"; String result = PagerUtils.limit(sql, JdbcConstants.ORACLE, 20, 10); Assert.assertEquals("SELECT *" + // - "\nFROM (SELECT _X.*, ROWNUM AS _RN" + // + "\nFROM (SELECT XX.*, ROWNUM AS RN" + // "\n\tFROM (SELECT *" + // "\n\t\tFROM t" + // - "\n\t\t) _X" + // + "\n\t\t) XX" + // "\n\tWHERE ROWNUM <= 30" + // - "\n\t) _XX" + // - "\nWHERE _RN > 20", result); + "\n\t) XXX" + // + "\nWHERE RN > 20", result); } public void test_oracle_3() throws Exception { String sql = "select id, name, salary from t order by id, name"; String result = PagerUtils.limit(sql, JdbcConstants.ORACLE, 20, 10); Assert.assertEquals("SELECT *" + // - "\nFROM (SELECT _X.*, ROWNUM AS _RN" + // + "\nFROM (SELECT XX.*, ROWNUM AS RN" + // "\n\tFROM (SELECT id, name, salary" + // "\n\t\tFROM t" + // "\n\t\tORDER BY id, name" + // - "\n\t\t) _X" + // + "\n\t\t) XX" + // "\n\tWHERE ROWNUM <= 30" + // - "\n\t) _XX" + // - "\nWHERE _RN > 20", result); + "\n\t) XXX" + // + "\nWHERE RN > 20", result); } }