提交 b9b78625 编写于 作者: H haocao

Add no sharding value pagination test cases.

上级 1495e6ea
......@@ -16,6 +16,16 @@
<data parameter="10,19,1000,1909,2" expected="select/SelectPagingWithRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectPaginationWithLimit">
<sharding-rule>
<data parameter="10,19,1000,1909,2,2" expected="select/SelectPagingWithOffsetAndRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectSingleTablePaginationWithLimit">
<sharding-rule value="tbl">
<data parameter="2,2" expected="select/SelectSingleTablePagingWithOffsetAndRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectPaginationWithTop">
<sharding-rule>
<data parameter="2,10,19,1000,1909" expected="select/sqlserver/SelectPagingWithRowCountSql.xml" />
......@@ -26,11 +36,6 @@
<data parameter="10,19,1000,1909,2" expected="select/oracle/SelectPagingWithRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectPaginationWithLimit">
<sharding-rule>
<data parameter="10,19,1000,1909,2,2" expected="select/SelectPagingWithOffsetAndRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectPaginationWithOffsetAndLimit">
<sharding-rule>
<data parameter="10,19,1000,1909,2,2" expected="select/postgresql/SelectPagingWithOffsetAndRowCountSql.xml" />
......@@ -41,9 +46,19 @@
<data parameter="4,10,19,1000,1909,2" expected="select/sqlserver/SelectPagingWithOffsetAndRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectSingleTablePaginationWithTopAndRange">
<sharding-rule>
<data parameter="4,2" expected="select/sqlserver/SelectSingleTablePagingWithOffsetAndRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectPaginationWithRowNumberAndRange">
<sharding-rule>
<data parameter="10,19,1000,1909,4,2" expected="select/oracle/SelectPagingWithOffsetAndRowCountSql.xml" />
</sharding-rule>
</sql>
<sql id="assertSelectSingleTablePaginationWithRowNumberAndRange">
<sharding-rule>
<data parameter="4,1" expected="select/oracle/SelectSingleTablePagingWithOffsetAndRowCountSql.xml" />
</sharding-rule>
</sql>
</sqls>
<dataset>
<t_order_item order_by_derived_0="1107" order_id="1107" user_id="11" status="init" />
<t_order_item order_by_derived_0="1106" order_id="1106" user_id="11" status="init" />
</dataset>
<dataset>
<t_order order_id="1107" rownum_="1" user_id="11" status="init" />
<t_order order_id="1106" rownum_="2" user_id="11" status="init" />
</dataset>
<dataset>
<t_order ORDER_BY_DERIVED_0="1107" order_id="1107" rownum_="1" user_id="11" status="init" />
<t_order ORDER_BY_DERIVED_0="1106" order_id="1106" rownum_="2" user_id="11" status="init" />
</dataset>
......@@ -234,4 +234,18 @@
</order-by-columns>
<limit offset="3" offset-index="5" row-count-index="4" row-count="5" />
</assert>
<assert id="assertSelectSingleTablePaginationWithRowNumberAndRange" parameters="4,1">
<tables>
<table name="t_order"/>
</tables>
<table-tokens>
<table-token begin-position="62" original-literals="t_order" />
</table-tokens>
<offset-token begin-position="139" offset="1" />
<row-count-token begin-position="110" row-count="4" />
<order-by-columns>
<order-by-column name="user_id" order-by-type="DESC" />
</order-by-columns>
<limit offset="1" offset-index="1" row-count-index="0" row-count="4" />
</assert>
</asserts>
......@@ -5,7 +5,10 @@
<sql id="assertSelectPaginationWithTop" value="SELECT * FROM (SELECT TOP (%s) row_number() OVER (ORDER BY i.item_id DESC) AS rownum_, i.item_id, 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_" type="SQLServer" />
<sql id="assertSelectPaginationWithRowNumber" value="SELECT * FROM (SELECT row_.*, rownum rownum_ FROM (SELECT order0_.order_id as order_id, order0_.status as status, order0_.user_id as user_id 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 &lt;= %s)" type="Oracle" />
<sql id="assertSelectPaginationWithLimit" value="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 LIMIT %s, %s" type="MySQL,H2" />
<sql id="assertSelectSingleTablePaginationWithLimit" value="SELECT o.* FROM `t_order` o ORDER BY o.order_id DESC LIMIT %s, %s" type="MySQL,H2" />
<sql id="assertSelectPaginationWithOffsetAndLimit" value="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" type="PostgreSQL" />
<sql id="assertSelectPaginationWithTopAndRange" value="SELECT * FROM (SELECT TOP (%s) row_number() OVER (ORDER BY i.item_id DESC) AS rownum_, i.item_id, 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_ &gt; %s" type="SQLServer" />
<sql id="assertSelectSingleTablePaginationWithTopAndRange" value="SELECT * FROM (SELECT TOP (%s) row_number() OVER (ORDER BY o.order_id DESC) AS rownum_, o.order_id as order_id, o.status as status, o.user_id as user_id FROM t_order o) AS row_ WHERE row_.rownum_ &gt; %s" type="SQLServer" />
<sql id="assertSelectPaginationWithRowNumberAndRange" value="SELECT * FROM (SELECT row_.*, rownum rownum_ FROM (SELECT order0_.order_id as order_id, order0_.status as status, order0_.user_id as user_id 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 &lt;= %s) t WHERE t.rownum_ &gt; %s" type="Oracle" />
<sql id="assertSelectSingleTablePaginationWithRowNumberAndRange" value="SELECT * FROM (SELECT t.*, ROWNUM rownum_ FROM (SELECT * FROM t_order ORDER BY user_id DESC) t WHERE ROWNUM &lt; %s) row_ WHERE row_.rownum_ &gt; %s" type="Oracle" />
</sqls>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册