Loading sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingContext.java +2 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package com.dangdang.ddframe.rdb.sharding.jdbc; import com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule; import com.dangdang.ddframe.rdb.sharding.executor.ExecutorEngine; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteEngine; import com.dangdang.ddframe.rdb.sharding.router.RouteEngine; import lombok.Getter; import lombok.RequiredArgsConstructor; Loading @@ -34,7 +34,7 @@ public final class ShardingContext { private final ShardingRule shardingRule; private final SQLRouteEngine sqlRouteEngine; private final RouteEngine routeEngine; private final ExecutorEngine executorEngine; } sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingDataSource.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import com.dangdang.ddframe.rdb.sharding.exception.ShardingJdbcException; import com.dangdang.ddframe.rdb.sharding.executor.ExecutorEngine; import com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractDataSourceAdapter; import com.dangdang.ddframe.rdb.sharding.metrics.MetricsContext; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteEngine; import com.dangdang.ddframe.rdb.sharding.router.RouteEngine; import com.google.common.base.Preconditions; import javax.sql.DataSource; Loading Loading @@ -55,7 +55,7 @@ public class ShardingDataSource extends AbstractDataSourceAdapter { shardingProperties = new ShardingProperties(props); executorEngine = new ExecutorEngine(shardingProperties); try { shardingContext = new ShardingContext(shardingRule, new SQLRouteEngine(shardingRule, DatabaseType.valueFrom(getDatabaseProductName(shardingRule))), executorEngine); shardingContext = new ShardingContext(shardingRule, new RouteEngine(shardingRule, DatabaseType.valueFrom(getDatabaseProductName(shardingRule))), executorEngine); } catch (final SQLException ex) { throw new ShardingJdbcException(ex); } Loading sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingPreparedStatement.java +3 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ import com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractPreparedStatementA import com.dangdang.ddframe.rdb.sharding.merger.ResultSetFactory; import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.GeneratedKeyContext; import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.InsertSQLContext; import com.dangdang.ddframe.rdb.sharding.router.PreparedSQLRouteEngine; import com.dangdang.ddframe.rdb.sharding.router.PreparedSQLRouter; import com.dangdang.ddframe.rdb.sharding.router.SQLExecutionUnit; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteResult; import com.google.common.base.Optional; Loading @@ -46,7 +46,7 @@ import java.util.Objects; */ public final class ShardingPreparedStatement extends AbstractPreparedStatementAdapter { private final PreparedSQLRouteEngine preparedSQLRouteEngine; private final PreparedSQLRouter preparedSQLRouteEngine; private final List<PreparedStatementExecutorWrapper> cachedPreparedStatementWrappers = new ArrayList<>(); Loading @@ -70,7 +70,7 @@ public final class ShardingPreparedStatement extends AbstractPreparedStatementAd ShardingPreparedStatement(final ShardingConnection shardingConnection, final String sql, final int resultSetType, final int resultSetConcurrency, final int resultSetHoldability) { super(shardingConnection, resultSetType, resultSetConcurrency, resultSetHoldability); preparedSQLRouteEngine = new PreparedSQLRouteEngine(sql, shardingConnection.getShardingContext()); preparedSQLRouteEngine = new PreparedSQLRouter(sql, shardingConnection.getShardingContext()); } ShardingPreparedStatement(final ShardingConnection shardingConnection, final String sql, final int autoGeneratedKeys) { Loading sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingStatement.java +2 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.GeneratedKeyCont import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.InsertSQLContext; import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.SQLContext; import com.dangdang.ddframe.rdb.sharding.router.SQLExecutionUnit; import com.dangdang.ddframe.rdb.sharding.router.SQLRouter; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteResult; import com.google.common.base.Function; import com.google.common.collect.Iterators; Loading Loading @@ -274,7 +275,7 @@ public class ShardingStatement extends AbstractStatementAdapter { private StatementExecutor generateExecutor(final String sql) throws SQLException { StatementExecutor result = new StatementExecutor(shardingConnection.getShardingContext().getExecutorEngine()); SQLRouteResult sqlRouteResult = shardingConnection.getShardingContext().getSqlRouteEngine().route(sql); SQLRouteResult sqlRouteResult = new SQLRouter(shardingConnection.getShardingContext().getRouteEngine()).route(sql); if (sqlRouteResult.getSqlContext() instanceof InsertSQLContext) { generatedKeyContext = ((InsertSQLContext) sqlRouteResult.getSqlContext()).getGeneratedKeyContext(); } else { Loading sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/router/PreparedSQLRouteEngine.java→sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/router/PreparedSQLRouter.java +9 −9 Original line number Diff line number Diff line Loading @@ -30,23 +30,23 @@ import java.util.Collections; import java.util.List; /** * 预解析的SQL路由引擎.. * 预解析的SQL路由器. * * @author gaohongtao */ public final class PreparedSQLRouteEngine { public final class PreparedSQLRouter { private final String logicSql; private final String logicSQL; private final SQLRouteEngine engine; private final RouteEngine routeEngine; private final ShardingRule shardingRule; private SQLContext sqlContext; public PreparedSQLRouteEngine(final String logicSql, final ShardingContext shardingContext) { this.logicSql = logicSql; engine = shardingContext.getSqlRouteEngine(); public PreparedSQLRouter(final String logicSQL, final ShardingContext shardingContext) { this.logicSQL = logicSQL; routeEngine = shardingContext.getRouteEngine(); shardingRule = shardingContext.getShardingRule(); } Loading @@ -59,12 +59,12 @@ public final class PreparedSQLRouteEngine { */ public SQLRouteResult route(final List<Object> parameters) { if (null == sqlContext) { sqlContext = engine.parseSQL(logicSql, parameters); sqlContext = routeEngine.parse(logicSQL, parameters); } else { List<Number> generatedIds = generateId(); parameters.addAll(generatedIds); } return engine.route(logicSql, sqlContext, parameters); return routeEngine.route(logicSQL, sqlContext, parameters); } private List<Number> generateId() { Loading Loading
sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingContext.java +2 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package com.dangdang.ddframe.rdb.sharding.jdbc; import com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule; import com.dangdang.ddframe.rdb.sharding.executor.ExecutorEngine; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteEngine; import com.dangdang.ddframe.rdb.sharding.router.RouteEngine; import lombok.Getter; import lombok.RequiredArgsConstructor; Loading @@ -34,7 +34,7 @@ public final class ShardingContext { private final ShardingRule shardingRule; private final SQLRouteEngine sqlRouteEngine; private final RouteEngine routeEngine; private final ExecutorEngine executorEngine; }
sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingDataSource.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ import com.dangdang.ddframe.rdb.sharding.exception.ShardingJdbcException; import com.dangdang.ddframe.rdb.sharding.executor.ExecutorEngine; import com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractDataSourceAdapter; import com.dangdang.ddframe.rdb.sharding.metrics.MetricsContext; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteEngine; import com.dangdang.ddframe.rdb.sharding.router.RouteEngine; import com.google.common.base.Preconditions; import javax.sql.DataSource; Loading Loading @@ -55,7 +55,7 @@ public class ShardingDataSource extends AbstractDataSourceAdapter { shardingProperties = new ShardingProperties(props); executorEngine = new ExecutorEngine(shardingProperties); try { shardingContext = new ShardingContext(shardingRule, new SQLRouteEngine(shardingRule, DatabaseType.valueFrom(getDatabaseProductName(shardingRule))), executorEngine); shardingContext = new ShardingContext(shardingRule, new RouteEngine(shardingRule, DatabaseType.valueFrom(getDatabaseProductName(shardingRule))), executorEngine); } catch (final SQLException ex) { throw new ShardingJdbcException(ex); } Loading
sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingPreparedStatement.java +3 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ import com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractPreparedStatementA import com.dangdang.ddframe.rdb.sharding.merger.ResultSetFactory; import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.GeneratedKeyContext; import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.InsertSQLContext; import com.dangdang.ddframe.rdb.sharding.router.PreparedSQLRouteEngine; import com.dangdang.ddframe.rdb.sharding.router.PreparedSQLRouter; import com.dangdang.ddframe.rdb.sharding.router.SQLExecutionUnit; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteResult; import com.google.common.base.Optional; Loading @@ -46,7 +46,7 @@ import java.util.Objects; */ public final class ShardingPreparedStatement extends AbstractPreparedStatementAdapter { private final PreparedSQLRouteEngine preparedSQLRouteEngine; private final PreparedSQLRouter preparedSQLRouteEngine; private final List<PreparedStatementExecutorWrapper> cachedPreparedStatementWrappers = new ArrayList<>(); Loading @@ -70,7 +70,7 @@ public final class ShardingPreparedStatement extends AbstractPreparedStatementAd ShardingPreparedStatement(final ShardingConnection shardingConnection, final String sql, final int resultSetType, final int resultSetConcurrency, final int resultSetHoldability) { super(shardingConnection, resultSetType, resultSetConcurrency, resultSetHoldability); preparedSQLRouteEngine = new PreparedSQLRouteEngine(sql, shardingConnection.getShardingContext()); preparedSQLRouteEngine = new PreparedSQLRouter(sql, shardingConnection.getShardingContext()); } ShardingPreparedStatement(final ShardingConnection shardingConnection, final String sql, final int autoGeneratedKeys) { Loading
sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/jdbc/ShardingStatement.java +2 −1 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.GeneratedKeyCont import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.InsertSQLContext; import com.dangdang.ddframe.rdb.sharding.parsing.parser.context.SQLContext; import com.dangdang.ddframe.rdb.sharding.router.SQLExecutionUnit; import com.dangdang.ddframe.rdb.sharding.router.SQLRouter; import com.dangdang.ddframe.rdb.sharding.router.SQLRouteResult; import com.google.common.base.Function; import com.google.common.collect.Iterators; Loading Loading @@ -274,7 +275,7 @@ public class ShardingStatement extends AbstractStatementAdapter { private StatementExecutor generateExecutor(final String sql) throws SQLException { StatementExecutor result = new StatementExecutor(shardingConnection.getShardingContext().getExecutorEngine()); SQLRouteResult sqlRouteResult = shardingConnection.getShardingContext().getSqlRouteEngine().route(sql); SQLRouteResult sqlRouteResult = new SQLRouter(shardingConnection.getShardingContext().getRouteEngine()).route(sql); if (sqlRouteResult.getSqlContext() instanceof InsertSQLContext) { generatedKeyContext = ((InsertSQLContext) sqlRouteResult.getSqlContext()).getGeneratedKeyContext(); } else { Loading
sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/router/PreparedSQLRouteEngine.java→sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/router/PreparedSQLRouter.java +9 −9 Original line number Diff line number Diff line Loading @@ -30,23 +30,23 @@ import java.util.Collections; import java.util.List; /** * 预解析的SQL路由引擎.. * 预解析的SQL路由器. * * @author gaohongtao */ public final class PreparedSQLRouteEngine { public final class PreparedSQLRouter { private final String logicSql; private final String logicSQL; private final SQLRouteEngine engine; private final RouteEngine routeEngine; private final ShardingRule shardingRule; private SQLContext sqlContext; public PreparedSQLRouteEngine(final String logicSql, final ShardingContext shardingContext) { this.logicSql = logicSql; engine = shardingContext.getSqlRouteEngine(); public PreparedSQLRouter(final String logicSQL, final ShardingContext shardingContext) { this.logicSQL = logicSQL; routeEngine = shardingContext.getRouteEngine(); shardingRule = shardingContext.getShardingRule(); } Loading @@ -59,12 +59,12 @@ public final class PreparedSQLRouteEngine { */ public SQLRouteResult route(final List<Object> parameters) { if (null == sqlContext) { sqlContext = engine.parseSQL(logicSql, parameters); sqlContext = routeEngine.parse(logicSQL, parameters); } else { List<Number> generatedIds = generateId(); parameters.addAll(generatedIds); } return engine.route(logicSql, sqlContext, parameters); return routeEngine.route(logicSQL, sqlContext, parameters); } private List<Number> generateId() { Loading