提交 37309339 编写于 作者: T terrymanu

AutoGeneratedKeysToken => GeneratedKeyToken

上级 69248501
......@@ -23,7 +23,7 @@ import com.dangdang.ddframe.rdb.sharding.constant.SQLType;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.expr.SQLExpr;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.expr.SQLNumberExpr;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.expr.SQLPlaceholderExpr;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.token.AutoGeneratedKeysToken;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.token.GeneratedKeyToken;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.token.ItemsToken;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.token.SQLToken;
import com.google.common.base.Optional;
......@@ -101,11 +101,11 @@ public final class InsertSQLContext extends AbstractSQLContext {
*
* @param shardingRule 分片规则
*/
public void appendGenerateKeysToken(final ShardingRule shardingRule) {
public void appendGenerateKeyToken(final ShardingRule shardingRule) {
if (null == generatedKeyContext) {
return;
}
Optional<AutoGeneratedKeysToken> autoGeneratedKeysToken = findAutoGeneratedKeysToken();
Optional<GeneratedKeyToken> autoGeneratedKeysToken = findAutoGeneratedKeysToken();
if (!autoGeneratedKeysToken.isPresent()) {
return;
}
......@@ -131,11 +131,11 @@ public final class InsertSQLContext extends AbstractSQLContext {
* @param shardingRule 分片规则
* @param parametersSize 参数个数
*/
public void appendGenerateKeysToken(final ShardingRule shardingRule, final int parametersSize) {
public void appendGenerateKeyToken(final ShardingRule shardingRule, final int parametersSize) {
if (null == generatedKeyContext) {
return;
}
Optional<AutoGeneratedKeysToken> autoGeneratedKeysToken = findAutoGeneratedKeysToken();
Optional<GeneratedKeyToken> autoGeneratedKeysToken = findAutoGeneratedKeysToken();
if (!autoGeneratedKeysToken.isPresent()) {
return;
}
......@@ -147,10 +147,10 @@ public final class InsertSQLContext extends AbstractSQLContext {
getSqlTokens().add(valuesToken);
}
private Optional<AutoGeneratedKeysToken> findAutoGeneratedKeysToken() {
private Optional<GeneratedKeyToken> findAutoGeneratedKeysToken() {
for (SQLToken each : getSqlTokens()) {
if (each instanceof AutoGeneratedKeysToken) {
return Optional.of((AutoGeneratedKeysToken) each);
if (each instanceof GeneratedKeyToken) {
return Optional.of((GeneratedKeyToken) each);
}
}
return Optional.absent();
......
......@@ -27,7 +27,7 @@ import lombok.RequiredArgsConstructor;
*/
@RequiredArgsConstructor
@Getter
public final class AutoGeneratedKeysToken implements SQLToken {
public final class GeneratedKeyToken implements SQLToken {
private final int beginPosition;
}
......@@ -29,7 +29,7 @@ import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.ShardingColumnCo
import com.dangdang.ddframe.rdb.sharding.parsing.parser.exception.SQLParsingUnsupportedException;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.expr.SQLExpr;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.type.SQLParser;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.token.AutoGeneratedKeysToken;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.token.GeneratedKeyToken;
import com.dangdang.ddframe.rdb.sharding.parsing.parser.token.ItemsToken;
import com.dangdang.ddframe.rdb.sharding.util.SQLUtil;
import com.google.common.base.Optional;
......@@ -76,7 +76,7 @@ public abstract class AbstractInsertParser implements SQLParser {
} else if (getCustomizedInsertKeywords().contains(sqlParser.getLexer().getCurrentToken().getType())) {
parseCustomizedInsert();
}
appendGenerateKeys();
appendGenerateKey();
return sqlContext;
}
......@@ -160,10 +160,10 @@ public abstract class AbstractInsertParser implements SQLParser {
protected void parseCustomizedInsert() {
}
private void appendGenerateKeys() {
private void appendGenerateKey() {
String tableName = sqlContext.getTables().get(0).getName();
ItemsToken columnsToken = new ItemsToken(sqlContext.getColumnsListLastPosition());
AutoGeneratedKeysToken autoGeneratedKeysToken = new AutoGeneratedKeysToken(sqlContext.getValuesListLastPosition());
GeneratedKeyToken generatedKeyToken = new GeneratedKeyToken(sqlContext.getValuesListLastPosition());
Optional<String> autoGeneratedKeyColumn = shardingRule.getGenerateKeyColumn(tableName);
if (autoGeneratedKeyColumn.isPresent()) {
if (!sqlContext.hasColumn(autoGeneratedKeyColumn.get())) {
......@@ -173,7 +173,7 @@ public abstract class AbstractInsertParser implements SQLParser {
}
if (!columnsToken.getItems().isEmpty()) {
sqlContext.getSqlTokens().add(columnsToken);
sqlContext.getSqlTokens().add(autoGeneratedKeysToken);
sqlContext.getSqlTokens().add(generatedKeyToken);
}
}
}
......@@ -67,9 +67,9 @@ public final class ParsingSQLRouter implements SQLRouter {
SQLContext result = parsingEngine.parse();
if (result instanceof InsertSQLContext) {
if (0 == parametersSize) {
((InsertSQLContext) result).appendGenerateKeysToken(shardingRule);
((InsertSQLContext) result).appendGenerateKeyToken(shardingRule);
} else {
((InsertSQLContext) result).appendGenerateKeysToken(shardingRule, parametersSize);
((InsertSQLContext) result).appendGenerateKeyToken(shardingRule, parametersSize);
}
}
MetricsContext.stop(context);
......
......@@ -80,7 +80,7 @@ public final class InsertStatementParserTest extends AbstractStatementParserTest
InsertSQLContext sqlContext = (InsertSQLContext) statementParser.parse();
assertInsertStatementWithoutParameter(sqlContext);
// TODO 放入rewrite模块断言
sqlContext.appendGenerateKeysToken(shardingRule);
sqlContext.appendGenerateKeyToken(shardingRule);
assertThat(new SQLRewriteEngine(sql, sqlContext).rewrite().toString(), is("INSERT INTO [Token(TABLE_XXX)] (`field1`, field2) VALUES (10, 1)"));
}
......@@ -92,7 +92,7 @@ public final class InsertStatementParserTest extends AbstractStatementParserTest
InsertSQLContext sqlContext = (InsertSQLContext) statementParser.parse();
assertInsertStatementWithParameter(sqlContext);
// TODO 放入rewrite模块断言
sqlContext.appendGenerateKeysToken(shardingRule);
sqlContext.appendGenerateKeyToken(shardingRule);
assertThat(new SQLRewriteEngine(sql, sqlContext).rewrite().toString(), is("INSERT INTO [Token(TABLE_XXX)] (`field1`, field2) VALUES (?, 1)"));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册