提交 e36b5748 编写于 作者: H haocao

Refactor page test cases for oracle.

上级 3118e420
......@@ -98,10 +98,10 @@ public abstract class AbstractDatabaseTestSQL implements DatabaseTestSQL {
"SELECT i.* FROM t_order o JOIN t_order_item i ON o.user_id = i.user_id AND o.order_id = i.order_id WHERE o.user_id IN (?, ?) AND o.order_id BETWEEN ? AND ?";
private static final String SELECT_ITERATOR_SQL =
"SELECT t.* FROM t_order t where t.order_id IN (?, ?)";
"SELECT t.* FROM t_order t where t.order_id IN (%s, %s)";
private static final String SELECT_WITH_PARENTHESES_SQL =
"SELECT o.* FROM (SELECT t.* FROM t_order t where t.order_id BETWEEN ? AND ?) o";
private static final String SELECT_IN_WITH_PARENTHESES_SQL =
"SELECT o.* FROM (SELECT t.* FROM t_order t where t.order_id IN((%s, %s))) o";
private static final String SELECT_GROUP_BY_USER_ID_SQL = "SELECT user_id AS uid FROM t_order GROUP BY uid";
......@@ -305,8 +305,8 @@ public abstract class AbstractDatabaseTestSQL implements DatabaseTestSQL {
}
@Override
public String getSelectWithParenthesesSql() {
return SELECT_WITH_PARENTHESES_SQL;
public String getSelectInWithParenthesesSql() {
return SELECT_IN_WITH_PARENTHESES_SQL;
}
@Override
......
......@@ -97,7 +97,7 @@ public interface DatabaseTestSQL {
String getSelectIteratorSql();
String getSelectWithParenthesesSql();
String getSelectInWithParenthesesSql();
String getSelectGroupByUserIdSql();
......
......@@ -27,6 +27,7 @@ import java.sql.SQLException;
import static com.dangdang.ddframe.rdb.integrate.util.SqlPlaceholderUtil.replacePreparedStatement;
import static com.dangdang.ddframe.rdb.sharding.constant.DatabaseType.MySQL;
import static com.dangdang.ddframe.rdb.sharding.constant.DatabaseType.Oracle;
import static com.dangdang.ddframe.rdb.sharding.constant.DatabaseType.PostgreSQL;
import static com.dangdang.ddframe.rdb.sharding.constant.DatabaseType.SQLServer;
......@@ -74,6 +75,8 @@ public final class ShardingTablesOnlyForPreparedStatementWithSelectTest extends
public void assertSelectPagingWithOffsetAndRowCountSql() throws SQLException, DatabaseUnitException {
if (currentDbType() == SQLServer) {
assertSelectPaging("SelectPagingWithOffsetAndRowCountSql.xml", replacePreparedStatement(getDatabaseTestSQL().getSelectPagingWithOffsetAndRowCountSql()), 4, 10, 19, 1000, 1909, 2);
} else if (currentDbType() == Oracle) {
assertSelectPaging("SelectPagingWithOffsetAndRowCountSql.xml", replacePreparedStatement(getDatabaseTestSQL().getSelectPagingWithOffsetAndRowCountSql()), 10, 19, 1000, 1909, 4, 2);
} else {
assertSelectPaging("SelectPagingWithOffsetAndRowCountSql.xml", replacePreparedStatement(getDatabaseTestSQL().getSelectPagingWithOffsetAndRowCountSql()), 10, 19, 1000, 1909, 2, 2);
}
......@@ -112,7 +115,7 @@ public final class ShardingTablesOnlyForPreparedStatementWithSelectTest extends
public void assertSelectWithParenthesesSql() throws SQLException, DatabaseUnitException {
String expectedDataSetFile = TABLE_ONLY_PREFIX + "/expect/select/SelectParentheses.xml";
assertDataSet(expectedDataSetFile, getShardingDataSource().getConnection(),
"t_order", getDatabaseTestSQL().getSelectWithParenthesesSql(), 1000, 1001);
"t_order", getDatabaseTestSQL().getSelectInWithParenthesesSql(), 1000, 1001);
}
@Test
......
......@@ -25,6 +25,7 @@ import org.junit.Test;
import java.sql.SQLException;
import static com.dangdang.ddframe.rdb.sharding.constant.DatabaseType.Oracle;
import static com.dangdang.ddframe.rdb.sharding.constant.DatabaseType.PostgreSQL;
import static com.dangdang.ddframe.rdb.sharding.constant.DatabaseType.SQLServer;
......@@ -69,7 +70,9 @@ public final class ShardingTablesOnlyForStatementWithSelectTest extends Abstract
@Test
public void assertSelectPagingWithOffsetAndRowCountSql() throws SQLException, DatabaseUnitException {
if (currentDbType() == SQLServer) {
assertSelectPaging("SelectPagingWithOffsetAndRowCountSql.xml", getDatabaseTestSQL().getSelectPagingWithOffsetAndRowCountSql(), 2, 10, 19, 1000, 1909, 2);
assertSelectPaging("SelectPagingWithOffsetAndRowCountSql.xml", getDatabaseTestSQL().getSelectPagingWithOffsetAndRowCountSql(), 4, 10, 19, 1000, 1909, 2);
} else if (currentDbType() == Oracle) {
assertSelectPaging("SelectPagingWithOffsetAndRowCountSql.xml", getDatabaseTestSQL().getSelectPagingWithOffsetAndRowCountSql(), 10, 19, 1000, 1909, 4, 2);
} else {
assertSelectPaging("SelectPagingWithOffsetAndRowCountSql.xml", getDatabaseTestSQL().getSelectPagingWithOffsetAndRowCountSql(), 10, 19, 1000, 1909, 2, 2);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册