|
@@ -238,12 +238,8 @@ public class TenantSqlParser extends AbstractJsqlParser {
|
|
|
}
|
|
|
if (currentExpression instanceof BinaryExpression) {
|
|
|
BinaryExpression binaryExpression = (BinaryExpression) currentExpression;
|
|
|
- if (binaryExpression.getLeftExpression() instanceof FromItem) {
|
|
|
- processFromItem((FromItem) binaryExpression.getLeftExpression());
|
|
|
- }
|
|
|
- if (binaryExpression.getRightExpression() instanceof FromItem) {
|
|
|
- processFromItem((FromItem) binaryExpression.getRightExpression());
|
|
|
- }
|
|
|
+ doExpression(binaryExpression.getLeftExpression());
|
|
|
+ doExpression(binaryExpression.getRightExpression());
|
|
|
} else if (currentExpression instanceof InExpression) {
|
|
|
InExpression inExp = (InExpression) currentExpression;
|
|
|
ItemsList rightItems = inExp.getRightItemsList();
|
|
@@ -258,6 +254,18 @@ public class TenantSqlParser extends AbstractJsqlParser {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ protected void doExpression(Expression expression) {
|
|
|
+ if (expression instanceof FromItem) {
|
|
|
+ processFromItem((FromItem) expression);
|
|
|
+ } else if (expression instanceof InExpression) {
|
|
|
+ InExpression inExp = (InExpression) expression;
|
|
|
+ ItemsList rightItems = inExp.getRightItemsList();
|
|
|
+ if (rightItems instanceof SubSelect) {
|
|
|
+ processSelectBody(((SubSelect) rightItems).getSelectBody());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 目前: 针对自定义的tenantId的条件表达式[tenant_id in (1,2,3)],无法处理多租户的字段加上表别名
|
|
|
* select a.id, b.name
|