mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
add PagerUtils oracle support
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
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_Count_Oracle_0 extends TestCase {
|
||||
|
||||
public void test_oracle_0() throws Exception {
|
||||
String sql = "select * from t";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.ORACLE);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_oracle_1() throws Exception {
|
||||
String sql = "select id, name from t";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.ORACLE);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_oracle_2() throws Exception {
|
||||
String sql = "select id, name from t order by id";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.ORACLE);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_oracle_group_0() throws Exception {
|
||||
String sql = "select type, count(*) from t group by type";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.ORACLE);
|
||||
Assert.assertEquals("SELECT COUNT(*)" + //
|
||||
"\nFROM (SELECT type, COUNT(*)" + //
|
||||
"\n\tFROM t" + //
|
||||
"\n\tGROUP BY type" + //
|
||||
"\n\t)", result);
|
||||
}
|
||||
|
||||
public void test_oracle_union_0() throws Exception {
|
||||
String sql = "select id, name from t1 union select id, name from t2 order by id";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.ORACLE);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM (SELECT id, name" + //
|
||||
"\n\tFROM t1" + //
|
||||
"\n\tUNION" + //
|
||||
"\n\tSELECT id, name" + //
|
||||
"\n\tFROM t2" + //
|
||||
"\n\t)", result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
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_Count_PG_0 extends TestCase {
|
||||
|
||||
public void test_pg_0() throws Exception {
|
||||
String sql = "select * from t";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.POSTGRESQL);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_pg_1() throws Exception {
|
||||
String sql = "select id, name from t";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.POSTGRESQL);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_pg_2() throws Exception {
|
||||
String sql = "select id, name from t order by id";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.POSTGRESQL);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_pg_group_0() throws Exception {
|
||||
String sql = "select type, count(*) from t group by type";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.POSTGRESQL);
|
||||
Assert.assertEquals("SELECT COUNT(*)" + //
|
||||
"\nFROM (SELECT type, COUNT(*)" + //
|
||||
"\n\tFROM t" + //
|
||||
"\n\tGROUP BY type" + //
|
||||
"\n\t)", result);
|
||||
}
|
||||
|
||||
public void test_pg_union_0() throws Exception {
|
||||
String sql = "select id, name from t1 union select id, name from t2 order by id";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.POSTGRESQL);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM (SELECT id, name" + //
|
||||
"\n\tFROM t1" + //
|
||||
"\n\tUNION" + //
|
||||
"\n\tSELECT id, name" + //
|
||||
"\n\tFROM t2" + //
|
||||
"\n\t)", result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
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_Count_SQLServer_0 extends TestCase {
|
||||
|
||||
public void test_sqlserver_0() throws Exception {
|
||||
String sql = "select * from t";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.SQL_SERVER);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_sqlserver_1() throws Exception {
|
||||
String sql = "select id, name from t";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.SQL_SERVER);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_sqlserver_2() throws Exception {
|
||||
String sql = "select id, name from t order by id";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.SQL_SERVER);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM t", result);
|
||||
}
|
||||
|
||||
public void test_sqlserver_group_0() throws Exception {
|
||||
String sql = "select type, count(*) from t group by type";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.SQL_SERVER);
|
||||
Assert.assertEquals("SELECT COUNT(*)" + //
|
||||
"\nFROM (SELECT type, COUNT(*)" + //
|
||||
"\n\tFROM t" + //
|
||||
"\n\tGROUP BY type" + //
|
||||
"\n\t)", result);
|
||||
}
|
||||
|
||||
public void test_sqlserver_union_0() throws Exception {
|
||||
String sql = "select id, name from t1 union select id, name from t2 order by id";
|
||||
String result = PagerUtils.count(sql, JdbcConstants.SQL_SERVER);
|
||||
Assert.assertEquals("SELECT COUNT(*)\n" + //
|
||||
"FROM (SELECT id, name" + //
|
||||
"\n\tFROM t1" + //
|
||||
"\n\tUNION" + //
|
||||
"\n\tSELECT id, name" + //
|
||||
"\n\tFROM t2" + //
|
||||
"\n\t)", result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
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_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" + //
|
||||
"\nFROM (SELECT *" + //
|
||||
"\n\tFROM t" + //
|
||||
"\n\tORDER BY id" + //
|
||||
"\n\t) _X" + //
|
||||
"\nWHERE ROWNUM <= 10", result);
|
||||
}
|
||||
|
||||
public void test_oracle_0() throws Exception {
|
||||
String sql = "select * from t";
|
||||
String result = PagerUtils.limit(sql, JdbcConstants.ORACLE, 0, 10);
|
||||
Assert.assertEquals("SELECT *" + //
|
||||
"\nFROM t" + //
|
||||
"\nWHERE ROWNUM <= 10", result);
|
||||
}
|
||||
|
||||
public void test_oracle_1() throws Exception {
|
||||
String sql = "select * from t";
|
||||
String result = PagerUtils.limit(sql, JdbcConstants.ORACLE, 10, 10);
|
||||
Assert.assertEquals("SELECT *" + //
|
||||
"\nFROM (SELECT _X.*, ROWNUM AS _RN" + //
|
||||
"\n\tFROM (SELECT *" + //
|
||||
"\n\t\tFROM t" + //
|
||||
"\n\t\t) _X" + //
|
||||
"\n\tWHERE ROWNUM <= 20" + //
|
||||
"\n\t) _XX" + //
|
||||
"\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" + //
|
||||
"\n\tFROM (SELECT *" + //
|
||||
"\n\t\tFROM t" + //
|
||||
"\n\t\t) _X" + //
|
||||
"\n\tWHERE ROWNUM <= 30" + //
|
||||
"\n\t) _XX" + //
|
||||
"\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" + //
|
||||
"\n\tFROM (SELECT id, name, salary" + //
|
||||
"\n\t\tFROM t" + //
|
||||
"\n\t\tORDER BY id, name" + //
|
||||
"\n\t\t) _X" + //
|
||||
"\n\tWHERE ROWNUM <= 30" + //
|
||||
"\n\t) _XX" + //
|
||||
"\nWHERE _RN > 20", result);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user