@@ -560,8 +560,8 @@ public void batchedReplaceOneColumnTest(String query) throws SQLException {
560
560
561
561
@ ParameterizedTest (name = "[{index}] {0} is batched update query" )
562
562
@ ValueSource (strings = {
563
- "Update table_name set c1 = ?, c2 = ?, c3 = ? where k1 = ? AND k2 = ?" ,
564
- "\n update `table_name` set\t `c1`=?,c2=?,c3=?\t Where\n k1=? AND k2 =?;;;" ,
563
+ "Update table_name set c1 = ?, c2 = ?, c3 = ? where table_name . k1 = ? AND k2 = ?" ,
564
+ "\n update `table_name` set\t `c1`=?,c2=?,c3=?\t Where\n k1=? AND `table_name`. `k2` =?;;;" ,
565
565
"/* comment */ upDaTe `table_name` set `c1` /* commect */ = ?, c2 = \n ?, c3 = ? WHERE k1=? AND k2=?;;\n -- com" ,
566
566
";;UPDATE/* comment */table_name set `c1`= ?, c2 = ?, c3 = ? WHERE k1\n =\t ?--comment\n AND k2=?" ,
567
567
})
@@ -588,8 +588,8 @@ public void batchedUpdateTest(String query) throws SQLException {
588
588
@ ValueSource (strings = {
589
589
"Update one_column set c1 = ? where k1 = ?" ,
590
590
"\n update `one_column` set\t `c1`=?\t Where\n k1=?;;;" ,
591
- "/* comment */ upDaTe `one_column` set `c1` /* commect */ = ? WHERE k1=?;;\n -- com" ,
592
- ";;UPDATE/* comment */one_column set `c1`= ? WHERE k1 =--comment\n ?" ,
591
+ "/* comment */ upDaTe `one_column` set `c1` /* commect */ = ? WHERE `one_column`. k1=?;;\n -- com" ,
592
+ ";;UPDATE/* comment */one_column set `c1`= ? WHERE one_column.`k1` =--comment\n ?" ,
593
593
})
594
594
public void batchedUpdateOneColumnTest (String query ) throws SQLException {
595
595
YdbQueryParser parser = new YdbQueryParser (types , query , props );
@@ -610,12 +610,38 @@ public void batchedUpdateOneColumnTest(String query) throws SQLException {
610
610
Assertions .assertEquals (Arrays .asList ("c1" ), batch .getColumns ());
611
611
}
612
612
613
+ @ ParameterizedTest (name = "[{index}] {0} is batched update query" )
614
+ @ ValueSource (strings = {
615
+ "Update test_table set column = ? where test_table = ?" ,
616
+ "Update test_table set column = ? where test_table . test_table = ?" ,
617
+ "Update test_table set column = ? where `test_table`.test_table = ?" ,
618
+ "Update test_table set column = ? where test_table.`test_table` = ?" ,
619
+ })
620
+ public void batchedUpdateOneColumnWithTableName (String query ) throws SQLException {
621
+ YdbQueryParser parser = new YdbQueryParser (types , query , props );
622
+ parser .parseSQL ();
623
+
624
+ Assertions .assertEquals (1 , parser .getStatements ().size ());
625
+ Assertions .assertEquals (QueryType .DATA_QUERY , parser .getStatements ().get (0 ).getType ());
626
+ Assertions .assertEquals (QueryCmd .UPDATE_REPLACE_DELETE , parser .getStatements ().get (0 ).getCmd ());
627
+
628
+ YqlBatcher batch = parser .getYqlBatcher ();
629
+ Assertions .assertTrue (batch .isValidBatch ());
630
+ Assertions .assertEquals (YqlBatcher .Cmd .UPDATE , batch .getCommand ());
631
+
632
+ Assertions .assertEquals ("test_table" , batch .getTableName ());
633
+ Assertions .assertEquals (1 , batch .getKeyColumns ().size ());
634
+ Assertions .assertEquals (Arrays .asList ("test_table" ), batch .getKeyColumns ());
635
+ Assertions .assertEquals (1 , batch .getColumns ().size ());
636
+ Assertions .assertEquals (Arrays .asList ("column" ), batch .getColumns ());
637
+ }
638
+
613
639
@ ParameterizedTest (name = "[{index}] {0} is batched delete query" )
614
640
@ ValueSource (strings = {
615
- "Delete from table_name where k1 = ? AND k2 = ?" ,
641
+ "Delete from table_name where k1 = ? AND `table_name`. k2 = ?" ,
616
642
"\n delete fRom `table_name`\t Where\n k1=? AND k2=?;;;" ,
617
643
"/* comment */ deLete from `table_name` WHERE k1=? AND k2=?;;\n -- com" ,
618
- ";;DELETE/* comment */FRom table_name WHERE k1\n =\t ?--comment\n AND k2 =?" ,
644
+ ";;DELETE/* comment */FRom table_name WHERE k1\n =\t ?--comment\n AND table_name.`k2` =?" ,
619
645
})
620
646
public void batchedDeleteTest (String query ) throws SQLException {
621
647
YdbQueryParser parser = new YdbQueryParser (types , query , props );
@@ -674,6 +700,9 @@ public void batchedDeleteOneColumnTest(String query) throws SQLException {
674
700
"upsert into table_name set c1 = ?, c2 = ?, c3 = ?" ,
675
701
"upsert table_name (c1, c2, c3) values (?, ?, ?)" ,
676
702
"upsert table_name set c1 = ?, c2 = ?, c3 = ?" ,
703
+ "update table_name set c1 = ?, c2 = ?, c3 = ? where other.id=?" ,
704
+ "update table_name set c1 = ?, c2 = ?, c3 = ? where table_name.name.id=?" ,
705
+ "update table_name set c1 = ?, c2 = ?, c3 = ? where Table_name.id=?" ,
677
706
"upsert into table_name (c1, , c3) values (?, ?)" ,
678
707
"upsert into table_name (c1, c2) values (?,,?)" ,
679
708
"upsert into table_name (c1, c2, c3) values (?, ?, ?,)" ,
0 commit comments