wangtiga commented on code in PR #25033:
URL: https://github.com/apache/shardingsphere/pull/25033#discussion_r1160761043


##########
sql-parser/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/impl/PostgreSQLStatementSQLVisitor.java:
##########
@@ -350,7 +350,7 @@ private Optional<String> findBinaryOperator(final 
AExprContext ctx) {
     }
     
     private BinaryOperationExpression 
createPatternMatchingOperationSegment(final AExprContext ctx) {
-        String operator = getOriginalText(ctx.patternMatchingOperator());
+        String operator = 
getOriginalText(ctx.patternMatchingOperator()).toUpperCase();

Review Comment:
   > There seems to be some problems with the processing of LIKE in MySQL. 
Usually, the SQL parsing engine should not change the content of SQL, but 
standardize the SQL AST during the SQL Bind stage. It's going to take a lot of 
extra work to get this done though, so let's merge this PR first to make sure 
the functionality is correct.
   
   Thank you for your patient explanation. The similar issue in 
`OpenGaussStatementSQLVisitor` has been fixed and committed. The problem of 
directly assigning `LIKE` or `NOT LIKE` to `BinaryOperationExpression.operator` 
exists in MySQL and SQLServer as well.
   
   
https://github.com/apache/shardingsphere/blob/5.3.1/sql-parser/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/impl/SQLServerStatementSQLVisitor.java#L435



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to