@@ -109,7 +109,14 @@ public final class UpdateStatementParserTest extends AbstractStatementParserTest
@Test
publicvoidparseWithOr(){
ShardingRuleshardingRule=createShardingRule();
newSQLParsingEngine(DatabaseType.Oracle,"UPDATE TABLE_XXX SET field1=1 WHERE field1<1 AND (field1 >2 OR field2 =1)",shardingRule).parse(false);
DMLStatementupdateStatement=(DMLStatement)newSQLParsingEngine(DatabaseType.Oracle,"UPDATE TABLE_XXX AS xxx SET field1=1 WHERE field1<1 AND (field1 >2 OR xxx.field2 =1)",shardingRule).parse(false);
<sql-caseid="assertSelectOrWithSameShardingColumns"value="SELECT * FROM t_order WHERE order_id = %s OR order_id = %s"/>
<sql-caseid="assertSelectOrWithDifferentShardingColumns"value="SELECT * FROM t_order WHERE order_id = %s OR user_id = %s"/>
<sql-caseid="assertSelectOrWithShardingColumnsAndNoShardingColumns"value="SELECT * FROM t_order WHERE order_id = %s OR status = %s"/>
<sql-caseid="assertSelectOrWithSimpleParen"value="SELECT * FROM t_order WHERE (order_id = %s OR status = %s) AND user_id = %s"/>
<sql-caseid="assertSelectOrWithComplexParen"value="SELECT * FROM t_order WHERE ((status = %s AND (order_id = %s OR (order_id = %s)) AND (user_id = %s OR (user_id = %s))))"/>
<sql-caseid="assertSelectOrWithBindingTable"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.order_id = %s OR o.order_id = %s) AND o.user_id = %s"/>
<sql-caseid="assertSelectOrWithBindingTableAndConfigTable"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 JOIN t_config c ON o.status = c.status WHERE (o.order_id = %s OR o.order_id = %s) AND o.user_id = %s AND c.status = %s"/>