Skip to content

Commit 8c77d99

Browse files
author
gaohongtao
committed
fixed #209 Limit concurrent error
1 parent 0b8fd82 commit 8c77d99

File tree

3 files changed

+5
-10
lines changed

3 files changed

+5
-10
lines changed

sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/router/PreparedSQLRouter.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,11 @@ public SQLRouteResult route(final List<Object> parameters) {
5858
tableRuleOptional = shardingRule.tryFindTableRule(sqlParsedResult.getRouteContext().getTables().iterator().next().getName());
5959
} else {
6060
generateId(parameters);
61-
engine.setParameters(parameters);
6261
for (ConditionContext each : sqlParsedResult.getConditionContexts()) {
6362
each.setNewConditionValue(parameters);
6463
}
6564
}
66-
return engine.routeSQL(sqlParsedResult);
65+
return engine.routeSQL(sqlParsedResult, parameters);
6766
}
6867

6968
private void generateId(final List<Object> parameters) {

sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/router/SQLRouteEngine.java

+2-7
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import com.google.common.collect.Collections2;
3535
import com.google.common.collect.Sets;
3636
import lombok.RequiredArgsConstructor;
37-
import lombok.Setter;
3837
import lombok.extern.slf4j.Slf4j;
3938

4039
import java.util.Collections;
@@ -55,9 +54,6 @@ public final class SQLRouteEngine {
5554

5655
private final DatabaseType databaseType;
5756

58-
@Setter
59-
private List<Object> parameters;
60-
6157
/**
6258
* SQL路由.
6359
*
@@ -70,7 +66,7 @@ public SQLRouteResult route(final String logicSql) throws SQLParserException {
7066
}
7167

7268
SQLRouteResult route(final String logicSql, final List<Object> parameters) throws SQLParserException {
73-
return routeSQL(parseSQL(logicSql, parameters));
69+
return routeSQL(parseSQL(logicSql, parameters), parameters);
7470
}
7571

7672
/**
@@ -84,14 +80,13 @@ public PreparedSQLRouter prepareSQL(final String logicSql) {
8480
}
8581

8682
SQLParsedResult parseSQL(final String logicSql, final List<Object> parameters) {
87-
this.parameters = parameters;
8883
Context context = MetricsContext.start("Parse SQL");
8984
SQLParsedResult result = SQLParserFactory.create(databaseType, logicSql, parameters, shardingRule).parse();
9085
MetricsContext.stop(context);
9186
return result;
9287
}
9388

94-
SQLRouteResult routeSQL(final SQLParsedResult parsedResult) {
89+
SQLRouteResult routeSQL(final SQLParsedResult parsedResult, final List<Object> parameters) {
9590
Context context = MetricsContext.start("Route SQL");
9691
SQLRouteResult result = new SQLRouteResult(parsedResult.getRouteContext().getSqlStatementType(), parsedResult.getMergeContext(), parsedResult.getGeneratedKeyContext());
9792
for (ConditionContext each : parsedResult.getConditionContexts()) {

sharding-jdbc-doc/content/post/release_notes.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ weight = 1
1313
1. [ISSUE #194](https://github.com/dangdangdotcom/sharding-jdbc/issues/194) jdbc接口中资源释放错误
1414
1. [ISSUE #199](https://github.com/dangdangdotcom/sharding-jdbc/issues/199) 分表且复用PreparedStatement对象造成数据路由错误
1515
1. [ISSUE #201](https://github.com/dangdangdotcom/sharding-jdbc/issues/201) 批量操作执行前事件发送缺失
16-
1. [ISSUE #203](https://github.com/dangdangdotcom/sharding-jdbc/issues/201) 合并batch操作发送的事件
16+
1. [ISSUE #203](https://github.com/dangdangdotcom/sharding-jdbc/issues/203) 合并batch操作发送的事件
17+
1. [ISSUE #209](https://github.com/dangdangdotcom/sharding-jdbc/issues/209) limit并行异常
1718

1819
## 1.4.0
1920

0 commit comments

Comments
 (0)