Loading sharding-jdbc-core/src/main/java/io/shardingjdbc/core/api/config/TableRuleConfiguration.java +3 −1 Original line number Diff line number Diff line Loading @@ -43,6 +43,8 @@ public class TableRuleConfiguration { private String logicTable; private String logicIndex; private String actualDataNodes; private ShardingStrategyConfiguration databaseShardingStrategyConfig; Loading @@ -65,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, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator); return new TableRule(logicTable, logicIndex, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator); } } sharding-jdbc-core/src/main/java/io/shardingjdbc/core/jdbc/core/datasource/MasterSlaveDataSource.java +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ public class MasterSlaveDataSource extends AbstractDataSourceAdapter { * @return map of actual master data source name and actual master data sources */ public Map<String, DataSource> getMasterDataSource() { Map<String, DataSource> result = new HashMap<>(1); Map<String, DataSource> result = new HashMap<>(1, 1); result.put(masterSlaveRule.getMasterDataSourceName(), masterSlaveRule.getMasterDataSource()); return result; } Loading sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/clause/TableReferencesClauseParser.java +4 −0 Original line number Diff line number Diff line package io.shardingjdbc.core.parsing.parser.clause; import com.google.common.base.Strings; import io.shardingjdbc.core.rule.ShardingRule; import io.shardingjdbc.core.parsing.lexer.LexerEngine; import io.shardingjdbc.core.parsing.lexer.token.DefaultKeyword; Loading Loading @@ -63,6 +64,9 @@ public class TableReferencesClauseParser implements SQLClauseParser { throw new UnsupportedOperationException("Cannot support SQL for `schema.table`"); } String tableName = SQLUtil.getExactlyValue(literals); if (Strings.isNullOrEmpty(tableName)) { return; } Optional<String> alias = aliasClauseParser.parse(); if (isSingleTableOnly || shardingRule.tryFindTableRule(tableName).isPresent() || shardingRule.findBindingTableRule(tableName).isPresent() || shardingRule.getDataSourceMap().containsKey(shardingRule.getDefaultDataSourceName())) { Loading sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/dialect/postgresql/sql/PostgreSQLCreateParser.java +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,11 @@ public final class PostgreSQLCreateParser extends AbstractCreateParser { super(shardingRule, lexerEngine); } @Override protected Keyword[] getSkippedKeywordsBetweenCreateIndexAndIndexName() { return new Keyword[] {DefaultKeyword.IF, DefaultKeyword.NOT, DefaultKeyword.EXISTS}; } @Override protected Keyword[] getSkippedKeywordsBetweenCreateAndKeyword() { return new Keyword[] {DefaultKeyword.GLOBAL, DefaultKeyword.LOCAL, DefaultKeyword.TEMPORARY, DefaultKeyword.TEMP, PostgreSQLKeyword.UNLOGGED}; Loading sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/dialect/postgresql/sql/PostgreSQLDropParser.java +4 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,10 @@ public final class PostgreSQLDropParser extends AbstractDropParser { super(shardingRule, lexerEngine); } protected Keyword[] getSkippedKeywordsBetweenDropIndexAndIndexName() { return new Keyword[] {DefaultKeyword.IF, DefaultKeyword.EXISTS}; } @Override protected Keyword[] getSkippedKeywordsBetweenDropTableAndTableName() { return new Keyword[] {DefaultKeyword.IF, DefaultKeyword.EXISTS}; Loading Loading
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/api/config/TableRuleConfiguration.java +3 −1 Original line number Diff line number Diff line Loading @@ -43,6 +43,8 @@ public class TableRuleConfiguration { private String logicTable; private String logicIndex; private String actualDataNodes; private ShardingStrategyConfiguration databaseShardingStrategyConfig; Loading @@ -65,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, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator); return new TableRule(logicTable, logicIndex, actualDataNodes, dataSourceMap, databaseShardingStrategy, tableShardingStrategy, keyGeneratorColumnName, keyGenerator); } }
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/jdbc/core/datasource/MasterSlaveDataSource.java +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ public class MasterSlaveDataSource extends AbstractDataSourceAdapter { * @return map of actual master data source name and actual master data sources */ public Map<String, DataSource> getMasterDataSource() { Map<String, DataSource> result = new HashMap<>(1); Map<String, DataSource> result = new HashMap<>(1, 1); result.put(masterSlaveRule.getMasterDataSourceName(), masterSlaveRule.getMasterDataSource()); return result; } Loading
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/clause/TableReferencesClauseParser.java +4 −0 Original line number Diff line number Diff line package io.shardingjdbc.core.parsing.parser.clause; import com.google.common.base.Strings; import io.shardingjdbc.core.rule.ShardingRule; import io.shardingjdbc.core.parsing.lexer.LexerEngine; import io.shardingjdbc.core.parsing.lexer.token.DefaultKeyword; Loading Loading @@ -63,6 +64,9 @@ public class TableReferencesClauseParser implements SQLClauseParser { throw new UnsupportedOperationException("Cannot support SQL for `schema.table`"); } String tableName = SQLUtil.getExactlyValue(literals); if (Strings.isNullOrEmpty(tableName)) { return; } Optional<String> alias = aliasClauseParser.parse(); if (isSingleTableOnly || shardingRule.tryFindTableRule(tableName).isPresent() || shardingRule.findBindingTableRule(tableName).isPresent() || shardingRule.getDataSourceMap().containsKey(shardingRule.getDefaultDataSourceName())) { Loading
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/dialect/postgresql/sql/PostgreSQLCreateParser.java +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,11 @@ public final class PostgreSQLCreateParser extends AbstractCreateParser { super(shardingRule, lexerEngine); } @Override protected Keyword[] getSkippedKeywordsBetweenCreateIndexAndIndexName() { return new Keyword[] {DefaultKeyword.IF, DefaultKeyword.NOT, DefaultKeyword.EXISTS}; } @Override protected Keyword[] getSkippedKeywordsBetweenCreateAndKeyword() { return new Keyword[] {DefaultKeyword.GLOBAL, DefaultKeyword.LOCAL, DefaultKeyword.TEMPORARY, DefaultKeyword.TEMP, PostgreSQLKeyword.UNLOGGED}; Loading
sharding-jdbc-core/src/main/java/io/shardingjdbc/core/parsing/parser/dialect/postgresql/sql/PostgreSQLDropParser.java +4 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,10 @@ public final class PostgreSQLDropParser extends AbstractDropParser { super(shardingRule, lexerEngine); } protected Keyword[] getSkippedKeywordsBetweenDropIndexAndIndexName() { return new Keyword[] {DefaultKeyword.IF, DefaultKeyword.EXISTS}; } @Override protected Keyword[] getSkippedKeywordsBetweenDropTableAndTableName() { return new Keyword[] {DefaultKeyword.IF, DefaultKeyword.EXISTS}; Loading