提交 3f09c253 编写于 作者: T terrymanu

sqlStatementType => sqlType

上级 60c20712
......@@ -70,7 +70,7 @@ public final class SQLParseEngine {
for (TableContext each : sqlContext.getTables()) {
result.getTables().add(each);
}
result.setSqlStatementType(sqlContext.getType());
result.setSqlType(sqlContext.getType());
return result;
}
......
......@@ -42,14 +42,14 @@ import java.util.List;
@ToString
public final class SQLParsedResult {
private final Collection<TableContext> tables = new LinkedHashSet<>();
private SQLType sqlStatementType;
private SQLType sqlType;
private SQLBuilder sqlBuilder;
private GeneratedKeyContext generatedKeyContext = new GeneratedKeyContext();
private final Collection<TableContext> tables = new LinkedHashSet<>();
private final List<ConditionContext> conditionContexts = new ArrayList<>();
private final MergeContext mergeContext = new MergeContext();
......
......@@ -98,8 +98,8 @@ public final class SQLRouteEngine {
private SQLParsedResult buildHintParsedResult(final String logicSql) {
SQLParsedResult result = new SQLParsedResult();
result.setSqlStatementType(SQLUtil.getTypeByStart(logicSql));
log.trace("Get {} SQL Statement", result.getSqlStatementType());
result.setSqlType(SQLUtil.getTypeByStart(logicSql));
log.trace("Get {} SQL Statement", result.getSqlType());
SQLBuilder sqlBuilder = new SQLBuilder();
try {
sqlBuilder.append(logicSql);
......@@ -112,7 +112,7 @@ public final class SQLRouteEngine {
SQLRouteResult routeSQL(final SQLParsedResult parsedResult, final List<Object> parameters) {
Context context = MetricsContext.start("Route SQL");
SQLRouteResult result = new SQLRouteResult(parsedResult.getSqlStatementType(), parsedResult.getMergeContext(), parsedResult.getGeneratedKeyContext());
SQLRouteResult result = new SQLRouteResult(parsedResult.getSqlType(), parsedResult.getMergeContext(), parsedResult.getGeneratedKeyContext());
for (ConditionContext each : parsedResult.getConditionContexts()) {
RoutingResult routingResult = routeSQL(each, parsedResult);
result.getExecutionUnits().addAll(routingResult.getSQLExecutionUnits(parsedResult.getSqlBuilder()));
......@@ -129,7 +129,7 @@ public final class SQLRouteEngine {
private RoutingResult routeSQL(final ConditionContext conditionContext, final SQLParsedResult parsedResult) {
if (HintManagerHolder.isDatabaseShardingOnly()) {
return new DatabaseRouter(shardingRule.getDataSourceRule(), shardingRule.getDatabaseShardingStrategy(), parsedResult.getSqlStatementType()).route();
return new DatabaseRouter(shardingRule.getDataSourceRule(), shardingRule.getDatabaseShardingStrategy(), parsedResult.getSqlType()).route();
}
Set<String> logicTables = Sets.newLinkedHashSet(Collections2.transform(parsedResult.getTables(), new Function<TableContext, String>() {
......@@ -139,13 +139,13 @@ public final class SQLRouteEngine {
}
}));
if (1 == logicTables.size()) {
return new SingleTableRouter(shardingRule, logicTables.iterator().next(), conditionContext, parsedResult.getSqlStatementType()).route();
return new SingleTableRouter(shardingRule, logicTables.iterator().next(), conditionContext, parsedResult.getSqlType()).route();
}
if (shardingRule.isAllBindingTables(logicTables)) {
return new BindingTablesRouter(shardingRule, logicTables, conditionContext, parsedResult.getSqlStatementType()).route();
return new BindingTablesRouter(shardingRule, logicTables, conditionContext, parsedResult.getSqlType()).route();
}
// TODO 可配置是否执行笛卡尔积
return new MixedTablesRouter(shardingRule, logicTables, conditionContext, parsedResult.getSqlStatementType()).route();
return new MixedTablesRouter(shardingRule, logicTables, conditionContext, parsedResult.getSqlType()).route();
}
private void amendSQLAccordingToRouteResult(final SQLParsedResult parsedResult, final List<Object> parameters, final SQLRouteResult sqlRouteResult) {
......
......@@ -50,7 +50,7 @@ public final class SQLParsedResultTest {
actual.getConditionContexts().add(generateConditionContext());
generateMergeContext(actual.getMergeContext());
assertThat(actual.toString(), is("SQLParsedResult(routeContext=RouteContext(tables=[TableContext(originalLiterals=order, name=order, alias=Optional.of(o)), "
+ "TableContext(originalLiterals=order_item, name=order_item, alias=Optional.absent())], sqlStatementType=null, sqlBuilder=SELECT * FROM [Token(order)]), "
+ "TableContext(originalLiterals=order_item, name=order_item, alias=Optional.absent())], sqlType=null, sqlBuilder=SELECT * FROM [Token(order)]), "
+ "generatedKeyContext=GeneratedKeyContext(columns=[], columnNameToIndexMap={}, valueTable={}, rowIndex=0, columnIndex=0, autoGeneratedKeys=0, columnIndexes=null, columnNames=null), "
+ "conditionContexts=[ConditionContext(conditions={Condition.Column(columnName=id, tableName=order)=Condition(column=Condition.Column(columnName=id, tableName=order), "
+ "operator=IN, values=[1, 2, 3], valueIndices=[])})], mergeContext=MergeContext(orderByContexts=[OrderByContext(super=AbstractSortableColumn(owner=Optional.absent(), "
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册