|
@@ -9,10 +9,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
import com.alibaba.fastsql.sql.SQLUtils;
|
|
|
import com.alibaba.fastsql.sql.ast.SQLExpr;
|
|
|
-import com.alibaba.fastsql.sql.ast.expr.SQLBinaryOpExpr;
|
|
|
-import com.alibaba.fastsql.sql.ast.expr.SQLIdentifierExpr;
|
|
|
-import com.alibaba.fastsql.sql.ast.expr.SQLMethodInvokeExpr;
|
|
|
-import com.alibaba.fastsql.sql.ast.expr.SQLPropertyExpr;
|
|
|
+import com.alibaba.fastsql.sql.ast.expr.*;
|
|
|
import com.alibaba.fastsql.sql.ast.statement.*;
|
|
|
import com.alibaba.fastsql.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock;
|
|
|
import com.alibaba.fastsql.sql.dialect.mysql.parser.MySqlStatementParser;
|
|
@@ -121,6 +118,10 @@ public class SqlParser {
|
|
|
fieldItem.setBinaryOp(true);
|
|
|
visitColumn(sqlBinaryOpExpr.getLeft(), fieldItem);
|
|
|
visitColumn(sqlBinaryOpExpr.getRight(), fieldItem);
|
|
|
+ } else if (expr instanceof SQLCaseExpr) {
|
|
|
+ SQLCaseExpr sqlCaseExpr = (SQLCaseExpr) expr;
|
|
|
+ fieldItem.setMethod(true);
|
|
|
+ sqlCaseExpr.getItems().forEach(item-> visitColumn(item.getConditionExpr(), fieldItem));
|
|
|
}
|
|
|
}
|
|
|
|