@@ -47,7 +47,7 @@ public void testInitCheck() throws JSQLParserException {
4747 }
4848
4949 @ Test
50- public void testLimitCheck00 () {
50+ public void testSelectLimitCheck00 () {
5151 String sql = "select * from user where id = ?" ;
5252 ShardRouter shardRouter = buildParserForId ().getShardRouter ();
5353 JSQLParserAdapter jsqlParserAdapter = new JSQLParserAdapter (sql , shardRouter , false );
@@ -65,7 +65,7 @@ public void testLimitCheck00() {
6565 }
6666
6767 @ Test
68- public void testLimitCheck01 () {
68+ public void testSelectLimitCheck01 () {
6969 String sql = "select * from user where id = ? limit 10" ;
7070 ShardRouter shardRouter = buildParserForId ().getShardRouter ();
7171 JSQLParserAdapter jsqlParserAdapter = new JSQLParserAdapter (sql , shardRouter , false );
@@ -83,6 +83,44 @@ public void testLimitCheck01() {
8383 Assert .equals (sqlParsedResult .getSql (), "SELECT * FROM db_02.user_0122 AS user WHERE id = ? LIMIT 10" );
8484 }
8585
86+ @ Test
87+ public void testUpdateLimitCheck00 () {
88+ String sql = "update user set name='abc' where id = ? limit 10" ;
89+ ShardRouter shardRouter = buildParserForId ().getShardRouter ();
90+ JSQLParserAdapter jsqlParserAdapter = new JSQLParserAdapter (sql , shardRouter , false );
91+ SQLParsedState sqlParsedState = jsqlParserAdapter .parse ();
92+ Map <Object , Object > jdbcParams = new HashMap <>();
93+ jdbcParams .put (1 , 506 );
94+ SQLParsedResult sqlParsedResult = sqlParsedState .parse (jdbcParams );
95+ Assert .equals (sqlParsedResult .getSql (), "UPDATE db_02.user_0122 SET name = 'abc' WHERE id = ? LIMIT 10" );
96+
97+ jsqlParserAdapter = new JSQLParserAdapter (sql , shardRouter , true );
98+ sqlParsedState = jsqlParserAdapter .parse ();
99+ jdbcParams = new HashMap <>();
100+ jdbcParams .put (1 , 506 );
101+ sqlParsedResult = sqlParsedState .parse (jdbcParams );
102+ Assert .equals (sqlParsedResult .getSql (), "UPDATE db_02.user_0122 SET name = 'abc' WHERE id = ? LIMIT 10" );
103+ }
104+
105+ @ Test
106+ public void testDeleteLimitCheck00 () {
107+ String sql = "delete from user where id = ? limit 10" ;
108+ ShardRouter shardRouter = buildParserForId ().getShardRouter ();
109+ JSQLParserAdapter jsqlParserAdapter = new JSQLParserAdapter (sql , shardRouter , false );
110+ SQLParsedState sqlParsedState = jsqlParserAdapter .parse ();
111+ Map <Object , Object > jdbcParams = new HashMap <>();
112+ jdbcParams .put (1 , 506 );
113+ SQLParsedResult sqlParsedResult = sqlParsedState .parse (jdbcParams );
114+ Assert .equals (sqlParsedResult .getSql (), "DELETE FROM db_02.user_0122 WHERE id = ? LIMIT 10" );
115+
116+ jsqlParserAdapter = new JSQLParserAdapter (sql , shardRouter , true );
117+ sqlParsedState = jsqlParserAdapter .parse ();
118+ jdbcParams = new HashMap <>();
119+ jdbcParams .put (1 , 506 );
120+ sqlParsedResult = sqlParsedState .parse (jdbcParams );
121+ Assert .equals (sqlParsedResult .getSql (), "DELETE FROM db_02.user_0122 WHERE id = ? LIMIT 10" );
122+ }
123+
86124 @ Test
87125 public void testSqlParsedState00 () {
88126 String sql = "select * from user where id = ?" ;
0 commit comments