Commit 78d1efa3 authored by haocao's avatar haocao
Browse files

Refactor sqlserver top test cases.

parent 2f46267e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -22,10 +22,10 @@ import com.dangdang.ddframe.rdb.integrate.sql.AbstractDatabaseTestSQL;
public final class SQLServerSQLTestSQL extends AbstractDatabaseTestSQL {
    
    private static final String SELECT_LIMIT_WITH_BINDING_TABLE_SQL = "SELECT * FROM"
            + " (SELECT TOP (%s) row_number() OVER (ORDER BY i.item_id DESC) AS rownum_, o.order_id as order_id, o.status as status, o.user_id as user_id"
            + " (SELECT TOP (%s) row_number() OVER (ORDER BY i.item_id DESC) AS rownum, o.order_id as order_id, o.status as status, o.user_id as user_id"
            + " 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) AS row_"
            + " WHERE row_.rownum_ > %s";
            + " WHERE o.user_id IN (%s, %s) AND o.order_id BETWEEN %s AND %s ORDER BY i.item_id DESC) AS row_"
            + " WHERE row_.rownum > %s";
    
    @Override
    public String getSelectLimitWithBindingTableSql() {
+9 −5
Original line number Diff line number Diff line
@@ -72,6 +72,14 @@ public final class ShardingTablesOnlyForPreparedStatementWithSelectTest extends
    
    @Test
    public void assertSelectLimitWithBindingTable() throws SQLException, DatabaseUnitException {
        if (SQLServer.name().equalsIgnoreCase(currentDbType())) {
            String expectedDataSetFile = TABLE_ONLY_PREFIX + "/expect/select/sqlserver/SelectLimitWithBindingTable.xml";
            assertDataSet(expectedDataSetFile, getShardingDataSource().getConnection(),
                    "t_order_item", replacePreparedStatement(getDatabaseTestSQL().getSelectLimitWithBindingTableSql()), 2, 10, 19, 1000, 1909, 2);
            assertDataSet("integrate/dataset/Empty.xml", getShardingDataSource().getConnection(),
                     "t_order_item", replacePreparedStatement(getDatabaseTestSQL().getSelectLimitWithBindingTableSql()), 2, 10, 19, 1000, 1909, 20);
            return;
        }
        if (PostgreSQL.name().equalsIgnoreCase(currentDbType())) {
            String expectedDataSetFile = TABLE_ONLY_PREFIX + "/expect/select/postgresql/SelectLimitWithBindingTable.xml";
            assertDataSet(expectedDataSetFile, getShardingDataSource().getConnection(),
@@ -80,17 +88,13 @@ public final class ShardingTablesOnlyForPreparedStatementWithSelectTest extends
            String expectedDataSetFile = TABLE_ONLY_PREFIX + "/expect/select/oracle/SelectLimitWithBindingTable.xml";
            assertDataSet(expectedDataSetFile, getShardingDataSource().getConnection(),
                    "t_order_item", replacePreparedStatement(getDatabaseTestSQL().getSelectLimitWithBindingTableSql()), 10, 19, 1000, 1909, 2, 2);
        } else if (SQLServer.name().equalsIgnoreCase(currentDbType())) {
            String expectedDataSetFile = TABLE_ONLY_PREFIX + "/expect/select/sqlserver/SelectLimitWithBindingTable.xml";
            assertDataSet(expectedDataSetFile, getShardingDataSource().getConnection(),
                    "t_order_item", replacePreparedStatement(getDatabaseTestSQL().getSelectLimitWithBindingTableSql()), 2, 10, 19, 1000, 1909, 2);
        } else {
            String expectedDataSetFile = TABLE_ONLY_PREFIX + "/expect/select/SelectLimitWithBindingTable.xml";
            assertDataSet(expectedDataSetFile, getShardingDataSource().getConnection(),
                    "t_order_item", replacePreparedStatement(getDatabaseTestSQL().getSelectLimitWithBindingTableSql()), 10, 19, 1000, 1909, 2, 2);
        }
        assertDataSet("integrate/dataset/Empty.xml", getShardingDataSource().getConnection(),
                "t_order_item", replacePreparedStatement(getDatabaseTestSQL().getSelectLimitWithBindingTableSql()), 10, 19, 1000, 1909, 1000, 2000);
                "t_order_item", replacePreparedStatement(getDatabaseTestSQL().getSelectLimitWithBindingTableSql()), 10, 19, 1000, 1909, 100, 200);
    }
    
    @Test