Loading sharding-jdbc-core/src/main/java/io/shardingjdbc/core/api/config/TableRuleConfiguration.java +3 −3 Original line number Diff line number Diff line Loading @@ -43,8 +43,6 @@ public class TableRuleConfiguration { private String logicTable; private String logicIndex; private String actualDataNodes; private ShardingStrategyConfiguration databaseShardingStrategyConfig; Loading @@ -55,6 +53,8 @@ public class TableRuleConfiguration { private String keyGeneratorClass; private String logicIndex; /** * Build table rule. * Loading @@ -67,6 +67,6 @@ public class TableRuleConfiguration { ShardingStrategy databaseShardingStrategy = null == databaseShardingStrategyConfig ? null : databaseShardingStrategyConfig.build(); ShardingStrategy tableShardingStrategy = null == tableShardingStrategyConfig ? null : tableShardingStrategyConfig.build(); KeyGenerator keyGenerator = !Strings.isNullOrEmpty(keyGeneratorColumnName) && !Strings.isNullOrEmpty(keyGeneratorClass) ? KeyGeneratorFactory.newInstance(keyGeneratorClass) : null; return new TableRule(logicTable, logicIndex, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator); return new TableRule(logicTable, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator, logicIndex); } } sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/AbstractSQLStatement.java +3 −8 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ import java.util.List; */ @RequiredArgsConstructor @Getter @Setter @ToString public abstract class AbstractSQLStatement implements SQLStatement { Loading @@ -48,6 +47,7 @@ public abstract class AbstractSQLStatement implements SQLStatement { private final List<SQLToken> sqlTokens = new LinkedList<>(); @Setter private int parametersIndex; private boolean containsTableName = true; Loading @@ -63,12 +63,7 @@ public abstract class AbstractSQLStatement implements SQLStatement { } @Override public void setContainsTableName(final boolean containsTableName) { this.containsTableName = containsTableName; } @Override public boolean containsTableName() { return this.containsTableName; public void withoutTableName() { containsTableName = false; } } sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/SQLStatement.java +5 −5 Original line number Diff line number Diff line Loading @@ -74,21 +74,21 @@ public interface SQLStatement { void setParametersIndex(int parametersIndex); /** * 增加索引偏移量. * Increase parameters index. * * @return 增加后的索引偏移量 * @return increased parameters index */ int increaseParametersIndex(); /** * Set contain table name. * Without table name. */ void setContainsTableName(boolean containsTableName); void withoutTableName(); /** * Adjust contains table name is empty or not. * * @return table name is empty or not */ boolean containsTableName(); boolean isContainsTableName(); } sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/ddl/create/AbstractCreateParser.java +8 −8 Original line number Diff line number Diff line Loading @@ -68,6 +68,14 @@ public abstract class AbstractCreateParser implements SQLParser { return result; } protected abstract Keyword[] getSkippedKeywordsBetweenCreateIndexAndKeyword(); protected abstract Keyword[] getSkippedKeywordsBetweenCreateAndKeyword(); protected Keyword[] getSkippedKeywordsBetweenCreateIndexAndIndexName() { return new Keyword[] {}; } private void parseIndex(final DDLStatement ddlStatement) { Token currentToken = lexerEngine.getCurrentToken(); int beginPosition = currentToken.getEndPosition() - currentToken.getLiterals().length(); Loading @@ -78,13 +86,5 @@ public abstract class AbstractCreateParser implements SQLParser { ddlStatement.getSqlTokens().add(new IndexToken(beginPosition, literals, tableName)); } protected Keyword[] getSkippedKeywordsBetweenCreateIndexAndIndexName() { return new Keyword[] {}; } protected abstract Keyword[] getSkippedKeywordsBetweenCreateAndKeyword(); protected abstract Keyword[] getSkippedKeywordsBetweenCreateTableAndTableName(); protected abstract Keyword[] getSkippedKeywordsBetweenCreateIndexAndKeyword(); } sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/ddl/drop/AbstractDropParser.java +16 −12 Original line number Diff line number Diff line Loading @@ -65,12 +65,16 @@ public abstract class AbstractDropParser implements SQLParser { throw new SQLParsingException("Can't support other DROP grammar unless DROP TABLE, DROP INDEX."); } tableReferencesClauseParser.parse(result, true); for (SQLToken each : result.getSqlTokens()) { if (each instanceof IndexToken && result.getSqlTokens().size() == 1) { result.setContainsTableName(false); indexWithoutTable(result); return result; } protected Keyword[] getSkippedKeywordsBetweenDropAndTable() { return new Keyword[0]; } return result; protected Keyword[] getSkippedKeywordsBetweenDropIndexAndIndexName() { return new Keyword[] {}; } private void parseIndex(final DDLStatement ddlStatement) { Loading @@ -83,13 +87,13 @@ public abstract class AbstractDropParser implements SQLParser { ddlStatement.getSqlTokens().add(new IndexToken(beginPosition, literals, tableName)); } protected Keyword[] getSkippedKeywordsBetweenDropIndexAndIndexName() { return new Keyword[] {}; } protected abstract Keyword[] getSkippedKeywordsBetweenDropTableAndTableName(); protected Keyword[] getSkippedKeywordsBetweenDropAndTable() { return new Keyword[0]; private void indexWithoutTable(final DDLStatement ddlStatement) { for (SQLToken each : ddlStatement.getSqlTokens()) { if (each instanceof IndexToken && 1 == ddlStatement.getSqlTokens().size()) { ddlStatement.withoutTableName(); } } } protected abstract Keyword[] getSkippedKeywordsBetweenDropTableAndTableName(); } Loading
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/api/config/TableRuleConfiguration.java +3 −3 Original line number Diff line number Diff line Loading @@ -43,8 +43,6 @@ public class TableRuleConfiguration { private String logicTable; private String logicIndex; private String actualDataNodes; private ShardingStrategyConfiguration databaseShardingStrategyConfig; Loading @@ -55,6 +53,8 @@ public class TableRuleConfiguration { private String keyGeneratorClass; private String logicIndex; /** * Build table rule. * Loading @@ -67,6 +67,6 @@ public class TableRuleConfiguration { ShardingStrategy databaseShardingStrategy = null == databaseShardingStrategyConfig ? null : databaseShardingStrategyConfig.build(); ShardingStrategy tableShardingStrategy = null == tableShardingStrategyConfig ? null : tableShardingStrategyConfig.build(); KeyGenerator keyGenerator = !Strings.isNullOrEmpty(keyGeneratorColumnName) && !Strings.isNullOrEmpty(keyGeneratorClass) ? KeyGeneratorFactory.newInstance(keyGeneratorClass) : null; return new TableRule(logicTable, logicIndex, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator); return new TableRule(logicTable, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator, logicIndex); } }
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/AbstractSQLStatement.java +3 −8 Original line number Diff line number Diff line Loading @@ -36,7 +36,6 @@ import java.util.List; */ @RequiredArgsConstructor @Getter @Setter @ToString public abstract class AbstractSQLStatement implements SQLStatement { Loading @@ -48,6 +47,7 @@ public abstract class AbstractSQLStatement implements SQLStatement { private final List<SQLToken> sqlTokens = new LinkedList<>(); @Setter private int parametersIndex; private boolean containsTableName = true; Loading @@ -63,12 +63,7 @@ public abstract class AbstractSQLStatement implements SQLStatement { } @Override public void setContainsTableName(final boolean containsTableName) { this.containsTableName = containsTableName; } @Override public boolean containsTableName() { return this.containsTableName; public void withoutTableName() { containsTableName = false; } }
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/SQLStatement.java +5 −5 Original line number Diff line number Diff line Loading @@ -74,21 +74,21 @@ public interface SQLStatement { void setParametersIndex(int parametersIndex); /** * 增加索引偏移量. * Increase parameters index. * * @return 增加后的索引偏移量 * @return increased parameters index */ int increaseParametersIndex(); /** * Set contain table name. * Without table name. */ void setContainsTableName(boolean containsTableName); void withoutTableName(); /** * Adjust contains table name is empty or not. * * @return table name is empty or not */ boolean containsTableName(); boolean isContainsTableName(); }
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/ddl/create/AbstractCreateParser.java +8 −8 Original line number Diff line number Diff line Loading @@ -68,6 +68,14 @@ public abstract class AbstractCreateParser implements SQLParser { return result; } protected abstract Keyword[] getSkippedKeywordsBetweenCreateIndexAndKeyword(); protected abstract Keyword[] getSkippedKeywordsBetweenCreateAndKeyword(); protected Keyword[] getSkippedKeywordsBetweenCreateIndexAndIndexName() { return new Keyword[] {}; } private void parseIndex(final DDLStatement ddlStatement) { Token currentToken = lexerEngine.getCurrentToken(); int beginPosition = currentToken.getEndPosition() - currentToken.getLiterals().length(); Loading @@ -78,13 +86,5 @@ public abstract class AbstractCreateParser implements SQLParser { ddlStatement.getSqlTokens().add(new IndexToken(beginPosition, literals, tableName)); } protected Keyword[] getSkippedKeywordsBetweenCreateIndexAndIndexName() { return new Keyword[] {}; } protected abstract Keyword[] getSkippedKeywordsBetweenCreateAndKeyword(); protected abstract Keyword[] getSkippedKeywordsBetweenCreateTableAndTableName(); protected abstract Keyword[] getSkippedKeywordsBetweenCreateIndexAndKeyword(); }
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/sql/ddl/drop/AbstractDropParser.java +16 −12 Original line number Diff line number Diff line Loading @@ -65,12 +65,16 @@ public abstract class AbstractDropParser implements SQLParser { throw new SQLParsingException("Can't support other DROP grammar unless DROP TABLE, DROP INDEX."); } tableReferencesClauseParser.parse(result, true); for (SQLToken each : result.getSqlTokens()) { if (each instanceof IndexToken && result.getSqlTokens().size() == 1) { result.setContainsTableName(false); indexWithoutTable(result); return result; } protected Keyword[] getSkippedKeywordsBetweenDropAndTable() { return new Keyword[0]; } return result; protected Keyword[] getSkippedKeywordsBetweenDropIndexAndIndexName() { return new Keyword[] {}; } private void parseIndex(final DDLStatement ddlStatement) { Loading @@ -83,13 +87,13 @@ public abstract class AbstractDropParser implements SQLParser { ddlStatement.getSqlTokens().add(new IndexToken(beginPosition, literals, tableName)); } protected Keyword[] getSkippedKeywordsBetweenDropIndexAndIndexName() { return new Keyword[] {}; } protected abstract Keyword[] getSkippedKeywordsBetweenDropTableAndTableName(); protected Keyword[] getSkippedKeywordsBetweenDropAndTable() { return new Keyword[0]; private void indexWithoutTable(final DDLStatement ddlStatement) { for (SQLToken each : ddlStatement.getSqlTokens()) { if (each instanceof IndexToken && 1 == ddlStatement.getSqlTokens().size()) { ddlStatement.withoutTableName(); } } } protected abstract Keyword[] getSkippedKeywordsBetweenDropTableAndTableName(); }