improve PageUtils

This commit is contained in:
wenshao
2013-07-27 15:48:06 +08:00
parent 4f0f2ae90b
commit 58174442a4
3 changed files with 113 additions and 21 deletions
@@ -0,0 +1,27 @@
package com.alibaba.druid.bvt.sql;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.druid.sql.PagerUtils;
import com.alibaba.druid.util.JdbcConstants;
public class PagerUtilsTest_Limit_SQLServer_1 extends TestCase {
public void test_db2_union() throws Exception {
String sql = "select * from t1 union select * from t2";
String result = PagerUtils.limit(sql, JdbcConstants.SQL_SERVER, 20, 10);
Assert.assertEquals("SELECT *" //
+ "\nFROM (SELECT XX.*, ROW_NUMBER() OVER () AS ROWNUM" //
+ "\n\tFROM (SELECT *" //
+ "\n\t\tFROM t1" //
+ "\n\t\tUNION" //
+ "\n\t\tSELECT *" //
+ "\n\t\tFROM t2" //
+ "\n\t\t) XX" //
+ "\n\t) XXX" //
+ "\nWHERE ROWNUM > 20" //
+ "\n\tAND ROWNUM <= 30", result);
}
}
@@ -0,0 +1,27 @@
package com.alibaba.druid.bvt.sql;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.druid.sql.PagerUtils;
import com.alibaba.druid.util.JdbcConstants;
public class PagerUtilsTest_Limit_db2_1 extends TestCase {
public void test_db2_union() throws Exception {
String sql = "select * from t1 union select * from t2";
String result = PagerUtils.limit(sql, JdbcConstants.DB2, 20, 10);
Assert.assertEquals("SELECT *" //
+ "\nFROM (SELECT XX.*, ROW_NUMBER() OVER () AS ROWNUM" //
+ "\n\tFROM (SELECT *" //
+ "\n\t\tFROM t1" //
+ "\n\t\tUNION" //
+ "\n\t\tSELECT *" //
+ "\n\t\tFROM t2" //
+ "\n\t\t) XX" //
+ "\n\t) XXX" //
+ "\nWHERE ROWNUM > 20" //
+ "\n\tAND ROWNUM <= 30", result);
}
}