From 68c9c736779e7eabd6b4d93e750ede7146fc7a55 Mon Sep 17 00:00:00 2001 From: Chuzhe Date: Mon, 13 Apr 2020 21:29:18 +0800 Subject: [PATCH] Fix clone() bug in SQLJoinTableSource Before this fix, the join condition is not properly cloned but is rather being referenced, so when an AST is cloned, source and target ASTs will share the same join condition node. --- .../com/alibaba/druid/sql/ast/statement/SQLJoinTableSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLJoinTableSource.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLJoinTableSource.java index 932054b8c1..8812185a38 100644 --- a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLJoinTableSource.java +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLJoinTableSource.java @@ -271,7 +271,7 @@ public class SQLJoinTableSource extends SQLTableSourceImpl implements SQLReplace } if(condition != null){ - x.setCondition(condition); + x.setCondition(condition.clone()); } for (SQLExpr item : using) {