mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve PageUtils
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user