Commit 5d3649b4 authored by haocao's avatar haocao
Browse files

Add oracle rownum test cases.

parent 268307ce
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -21,8 +21,10 @@ import com.dangdang.ddframe.rdb.integrate.sql.AbstractDatabaseTestSQL;

public final class OracleSQLTestSQL extends AbstractDatabaseTestSQL {
    
    private static final String SELECT_LIMIT_WITH_BINDING_TABLE_SQL = "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 (%s, %s) AND o.order_id BETWEEN %s AND %s ORDER BY i.item_id DESC OFFSET %s LIMIT %s";
    private static final String SELECT_LIMIT_WITH_BINDING_TABLE_SQL = "SELECT * FROM (SELECT row_.*, rownum rownum_ FROM (SELECT" 
            + " order0_.order_id as order_id1_0_, order0_.status as status2_0_, order0_.user_id as user_id3_0_" 
            + " FROM t_order order0_ JOIN t_order_item i ON order0_.user_id = i.user_id AND order0_.order_id = i.order_id"
            + " WHERE order0_.user_id IN (%s, %s) AND order0_.order_id BETWEEN %s AND %s ORDER BY i.item_id DESC) row_ WHERE rownum <= ?) WHERE rownum > ?";
    
    @Override
    public String getSelectLimitWithBindingTableSql() {
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ public final class ShardingTablesOnlyForPreparedStatementWithSelectTest extends
    
    @Test
    public void assertSelectLimitWithBindingTable() throws SQLException, DatabaseUnitException {
        if (!Oracle.name().equalsIgnoreCase(currentDbType()) && !SQLServer.name().equalsIgnoreCase(currentDbType())) {
        if (!SQLServer.name().equalsIgnoreCase(currentDbType())) {
            String expectedDataSetFile = PostgreSQL.name().equalsIgnoreCase(currentDbType()) ? TABLE_ONLY_PREFIX + "/expect/select/postgresql/SelectLimitWithBindingTable.xml"
                    : TABLE_ONLY_PREFIX + "/expect/select/SelectLimitWithBindingTable.xml";
            if (PostgreSQL.name().equalsIgnoreCase(currentDbType())) {