未验证 提交 6885ec6c 编写于 作者: L Liang Zhang 提交者: GitHub

Fix typo for DataNodeRouter (#4878)

上级 42b3d2c6
......@@ -42,7 +42,7 @@ import org.apache.shardingsphere.underlying.rewrite.SQLRewriteEntry;
import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContext;
import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContextDecorator;
import org.apache.shardingsphere.underlying.rewrite.engine.SQLRewriteResult;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
......@@ -64,7 +64,7 @@ public abstract class BaseShardingEngine {
private final ShardingSphereMetaData metaData;
private final DateNodeRouter dateNodeRouter;
private final DataNodeRouter dataNodeRouter;
private final SPIRoutingHook routingHook;
......@@ -72,7 +72,7 @@ public abstract class BaseShardingEngine {
this.shardingRule = shardingRule;
this.properties = properties;
this.metaData = metaData;
dateNodeRouter = new DateNodeRouter(metaData, properties, sqlParserEngine);
dataNodeRouter = new DataNodeRouter(metaData, properties, sqlParserEngine);
routingHook = new SPIRoutingHook();
}
......@@ -96,13 +96,13 @@ public abstract class BaseShardingEngine {
protected abstract List<Object> cloneParameters(List<Object> parameters);
protected abstract RouteContext route(DateNodeRouter dateNodeRouter, String sql, List<Object> parameters);
protected abstract RouteContext route(DataNodeRouter dataNodeRouter, String sql, List<Object> parameters);
private ShardingRouteContext executeRoute(final String sql, final List<Object> clonedParameters) {
routingHook.start(sql);
try {
registerRouteDecorator();
ShardingRouteContext result = (ShardingRouteContext) route(dateNodeRouter, sql, clonedParameters);
ShardingRouteContext result = (ShardingRouteContext) route(dataNodeRouter, sql, clonedParameters);
routingHook.finishSuccess(result, metaData.getSchema());
return result;
// CHECKSTYLE:OFF
......@@ -114,9 +114,9 @@ public abstract class BaseShardingEngine {
}
private void registerRouteDecorator() {
dateNodeRouter.registerDecorator(shardingRule, new ShardingRouteDecorator());
dataNodeRouter.registerDecorator(shardingRule, new ShardingRouteDecorator());
for (MasterSlaveRule each : shardingRule.getMasterSlaveRules()) {
dateNodeRouter.registerDecorator(each, new MasterSlaveRouteDecorator());
dataNodeRouter.registerDecorator(each, new MasterSlaveRouteDecorator());
}
}
......
......@@ -21,7 +21,7 @@ import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.SQLParserEngine;
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import java.util.ArrayList;
......@@ -49,7 +49,7 @@ public final class PreparedQueryShardingEngine extends BaseShardingEngine {
}
@Override
protected RouteContext route(final DateNodeRouter dateNodeRouter, final String sql, final List<Object> parameters) {
return dateNodeRouter.route(sql, parameters, true);
protected RouteContext route(final DataNodeRouter dataNodeRouter, final String sql, final List<Object> parameters) {
return dataNodeRouter.route(sql, parameters, true);
}
}
......@@ -21,7 +21,7 @@ import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.SQLParserEngine;
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import java.util.Collections;
......@@ -49,7 +49,7 @@ public final class SimpleQueryShardingEngine extends BaseShardingEngine {
}
@Override
protected RouteContext route(final DateNodeRouter dateNodeRouter, final String sql, final List<Object> parameters) {
return dateNodeRouter.route(sql, Collections.emptyList(), false);
protected RouteContext route(final DataNodeRouter dataNodeRouter, final String sql, final List<Object> parameters) {
return dataNodeRouter.route(sql, Collections.emptyList(), false);
}
}
......@@ -24,7 +24,7 @@ import org.apache.shardingsphere.sql.parser.SQLParserEngine;
import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -48,7 +48,7 @@ public final class PreparedQueryShardingEngineTest extends BaseShardingEngineTes
private ShardingRule shardingRule;
@Mock
private DateNodeRouter dateNodeRouter;
private DataNodeRouter dataNodeRouter;
private PreparedQueryShardingEngine shardingEngine;
......@@ -67,20 +67,20 @@ public final class PreparedQueryShardingEngineTest extends BaseShardingEngineTes
@SneakyThrows
private void setRoutingEngine() {
Field field = BaseShardingEngine.class.getDeclaredField("dateNodeRouter");
Field field = BaseShardingEngine.class.getDeclaredField("dataNodeRouter");
field.setAccessible(true);
field.set(shardingEngine, dateNodeRouter);
field.set(shardingEngine, dataNodeRouter);
}
protected void assertShard() {
RouteContext routeContext = createSQLRouteContext();
when(dateNodeRouter.route(getSql(), getParameters(), true)).thenReturn(routeContext);
when(dataNodeRouter.route(getSql(), getParameters(), true)).thenReturn(routeContext);
assertExecutionContext(shardingEngine.shard(getSql(), getParameters()));
}
@Test(expected = SQLException.class)
public void assertWithRouteException() {
when(dateNodeRouter.route(getSql(), getParameters(), true)).thenThrow(SQLException.class);
when(dataNodeRouter.route(getSql(), getParameters(), true)).thenThrow(SQLException.class);
shardingEngine.shard(getSql(), getParameters());
}
}
......@@ -24,7 +24,7 @@ import org.apache.shardingsphere.sql.parser.SQLParserEngine;
import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.mockito.Mock;
......@@ -46,7 +46,7 @@ public final class SimpleQueryShardingEngineTest extends BaseShardingEngineTest
private ShardingRule shardingRule;
@Mock
private DateNodeRouter dateNodeRouter;
private DataNodeRouter dataNodeRouter;
private SimpleQueryShardingEngine shardingEngine;
......@@ -65,14 +65,14 @@ public final class SimpleQueryShardingEngineTest extends BaseShardingEngineTest
@SneakyThrows
private void setRoutingEngine() {
Field field = BaseShardingEngine.class.getDeclaredField("dateNodeRouter");
Field field = BaseShardingEngine.class.getDeclaredField("dataNodeRouter");
field.setAccessible(true);
field.set(shardingEngine, dateNodeRouter);
field.set(shardingEngine, dataNodeRouter);
}
protected void assertShard() {
RouteContext routeContext = createSQLRouteContext();
when(dateNodeRouter.route(getSql(), Collections.emptyList(), false)).thenReturn(routeContext);
when(dataNodeRouter.route(getSql(), Collections.emptyList(), false)).thenReturn(routeContext);
assertExecutionContext(shardingEngine.shard(getSql(), getParameters()));
}
}
......@@ -42,7 +42,7 @@ import org.apache.shardingsphere.underlying.rewrite.engine.SQLRewriteResult;
import org.apache.shardingsphere.underlying.rewrite.parameterized.engine.AbstractSQLRewriterParameterizedTest;
import org.apache.shardingsphere.underlying.rewrite.parameterized.engine.parameter.SQLRewriteEngineTestParameters;
import org.apache.shardingsphere.underlying.rewrite.parameterized.engine.parameter.SQLRewriteEngineTestParametersBuilder;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
import org.junit.runners.Parameterized.Parameters;
......@@ -80,7 +80,7 @@ public final class MixSQLRewriterParameterizedTest extends AbstractSQLRewriterPa
SQLParserEngine sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine(null == getTestParameters().getDatabaseType() ? "SQL92" : getTestParameters().getDatabaseType());
ShardingSphereMetaData metaData = createShardingSphereMetaData();
ConfigurationProperties properties = new ConfigurationProperties(ruleConfiguration.getProps());
RouteContext routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), false);
RouteContext routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), false);
ShardingRouteDecorator shardingRouteDecorator = new ShardingRouteDecorator();
ShardingRouteContext shardingRouteContext = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(
......
......@@ -41,7 +41,7 @@ import org.apache.shardingsphere.underlying.rewrite.engine.SQLRewriteResult;
import org.apache.shardingsphere.underlying.rewrite.parameterized.engine.AbstractSQLRewriterParameterizedTest;
import org.apache.shardingsphere.underlying.rewrite.parameterized.engine.parameter.SQLRewriteEngineTestParameters;
import org.apache.shardingsphere.underlying.rewrite.parameterized.engine.parameter.SQLRewriteEngineTestParametersBuilder;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
import org.junit.runners.Parameterized.Parameters;
......@@ -79,7 +79,7 @@ public final class ShardingSQLRewriterParameterizedTest extends AbstractSQLRewri
SQLParserEngine sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine(null == getTestParameters().getDatabaseType() ? "SQL92" : getTestParameters().getDatabaseType());
ShardingSphereMetaData metaData = createShardingSphereMetaData();
ConfigurationProperties properties = new ConfigurationProperties(ruleConfiguration.getProps());
RouteContext routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), false);
RouteContext routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), false);
ShardingRouteDecorator shardingRouteDecorator = new ShardingRouteDecorator();
ShardingRouteContext shardingRouteContext = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(
......
......@@ -37,7 +37,7 @@ import org.apache.shardingsphere.sql.parser.binder.statement.dml.SelectStatement
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.common.metadata.datasource.DataSourceMetas;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.junit.Before;
import org.junit.Test;
......@@ -77,7 +77,7 @@ public final class DatabaseTest {
String originSQL = "select * from tesT";
SQLParserEngine sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine("MySQL");
ShardingSphereMetaData metaData = getMetaDataForAllRoutingSQL();
RouteContext routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Collections.emptyList(), false);
RouteContext routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Collections.emptyList(), false);
ShardingRouteDecorator shardingRouteDecorator = new ShardingRouteDecorator();
ShardingRouteContext actual = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
assertThat(actual.getRouteResult().getRouteUnits().size(), is(1));
......@@ -101,13 +101,13 @@ public final class DatabaseTest {
String originSQL = "select user_id from tbl_pagination limit 0,5";
SQLParserEngine sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine("MySQL");
ShardingSphereMetaData metaData = getMetaDataForPagination();
RouteContext routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Collections.emptyList(), false);
RouteContext routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Collections.emptyList(), false);
ShardingRouteDecorator shardingRouteDecorator = new ShardingRouteDecorator();
ShardingRouteContext actual = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
assertThat(((SelectStatementContext) actual.getSqlStatementContext()).getPaginationContext().getActualOffset(), is(0L));
assertThat(((SelectStatementContext) actual.getSqlStatementContext()).getPaginationContext().getActualRowCount().orElse(null), is(5L));
originSQL = "select user_id from tbl_pagination limit 5,5";
routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Collections.emptyList(), false);
routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Collections.emptyList(), false);
shardingRouteDecorator = new ShardingRouteDecorator();
actual = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
assertThat(((SelectStatementContext) actual.getSqlStatementContext()).getPaginationContext().getActualOffset(), is(5L));
......@@ -141,14 +141,14 @@ public final class DatabaseTest {
ShardingSphereMetaData metaData = mock(ShardingSphereMetaData.class);
when(metaData.getSchema()).thenReturn(mock(SchemaMetaData.class));
SQLParserEngine sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine("MySQL");
RouteContext routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Lists.newArrayList(13, 173), false);
RouteContext routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Lists.newArrayList(13, 173), false);
ShardingRouteDecorator shardingRouteDecorator = new ShardingRouteDecorator();
ShardingRouteContext actual = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
assertThat(((SelectStatementContext) actual.getSqlStatementContext()).getPaginationContext().getActualOffset(), is(5L));
assertThat(((SelectStatementContext) actual.getSqlStatementContext()).getPaginationContext().getActualRowCount().orElse(null), is(10L));
assertThat(actual.getRouteResult().getRouteUnits().size(), is(1));
originSQL = "select city_id from t_user where city_id in (?,?) limit 5,10";
routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Lists.newArrayList(89, 84), false);
routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(originSQL, Lists.newArrayList(89, 84), false);
shardingRouteDecorator = new ShardingRouteDecorator();
actual = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
assertThat(((SelectStatementContext) actual.getSqlStatementContext()).getPaginationContext().getActualOffset(), is(5L));
......
......@@ -31,7 +31,7 @@ import org.apache.shardingsphere.underlying.common.config.properties.Configurati
import org.apache.shardingsphere.underlying.common.database.type.DatabaseTypes;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.common.metadata.datasource.DataSourceMetas;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import java.util.Arrays;
......@@ -51,7 +51,7 @@ public abstract class AbstractSQLRouteTest extends AbstractRoutingEngineTest {
ShardingSphereMetaData metaData = new ShardingSphereMetaData(buildDataSourceMetas(), buildSchemaMetaData());
ConfigurationProperties properties = new ConfigurationProperties(new Properties());
SQLParserEngine sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine("MySQL");
RouteContext routeContext = new DateNodeRouter(metaData, properties, sqlParserEngine).route(sql, parameters, false);
RouteContext routeContext = new DataNodeRouter(metaData, properties, sqlParserEngine).route(sql, parameters, false);
ShardingRouteDecorator shardingRouteDecorator = new ShardingRouteDecorator();
ShardingRouteContext result = (ShardingRouteContext) shardingRouteDecorator.decorate(routeContext, metaData, shardingRule, properties);
assertThat(result.getRouteResult().getRouteUnits().size(), is(1));
......
......@@ -27,7 +27,7 @@ import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionCon
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.MasterSlaveRuntimeContext;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
......@@ -61,9 +61,9 @@ public final class MasterSlavePreparedStatement extends AbstractMasterSlavePrepa
}
this.connection = connection;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
DateNodeRouter dateNodeRouter = new DateNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dateNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), true);
DataNodeRouter dataNodeRouter = new DataNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dataNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), true);
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
PreparedStatement preparedStatement = connection.getConnection(each.getDataSourceMapper().getActualName()).prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
routedStatements.add(preparedStatement);
......@@ -76,9 +76,9 @@ public final class MasterSlavePreparedStatement extends AbstractMasterSlavePrepa
}
this.connection = connection;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
DateNodeRouter dateNodeRouter = new DateNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dateNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), true);
DataNodeRouter dataNodeRouter = new DataNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dataNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), true);
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
PreparedStatement preparedStatement = connection.getConnection(each.getDataSourceMapper().getActualName()).prepareStatement(sql, autoGeneratedKeys);
routedStatements.add(preparedStatement);
......@@ -91,9 +91,9 @@ public final class MasterSlavePreparedStatement extends AbstractMasterSlavePrepa
}
this.connection = connection;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
DateNodeRouter dateNodeRouter = new DateNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dateNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), true);
DataNodeRouter dataNodeRouter = new DataNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dataNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), true);
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
PreparedStatement preparedStatement = connection.getConnection(each.getDataSourceMapper().getActualName()).prepareStatement(sql, columnIndexes);
routedStatements.add(preparedStatement);
......@@ -106,9 +106,9 @@ public final class MasterSlavePreparedStatement extends AbstractMasterSlavePrepa
}
this.connection = connection;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
DateNodeRouter dateNodeRouter = new DateNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dateNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), true);
DataNodeRouter dataNodeRouter = new DataNodeRouter(runtimeContext.getMetaData(), runtimeContext.getProperties(), runtimeContext.getSqlParserEngine());
dataNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), true);
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
PreparedStatement preparedStatement = connection.getConnection(each.getDataSourceMapper().getActualName()).prepareStatement(sql, columnNames);
routedStatements.add(preparedStatement);
......
......@@ -28,7 +28,7 @@ import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionCon
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.MasterSlaveRuntimeContext;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import java.sql.ResultSet;
import java.sql.SQLException;
......@@ -46,7 +46,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
private final MasterSlaveConnection connection;
@Getter(AccessLevel.NONE)
private final DateNodeRouter dateNodeRouter;
private final DataNodeRouter dataNodeRouter;
private final int resultSetType;
......@@ -67,7 +67,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
public MasterSlaveStatement(final MasterSlaveConnection connection, final int resultSetType, final int resultSetConcurrency, final int resultSetHoldability) {
super(Statement.class);
this.connection = connection;
dateNodeRouter = new DateNodeRouter(connection.getRuntimeContext().getMetaData(), connection.getRuntimeContext().getProperties(), connection.getRuntimeContext().getSqlParserEngine());
dataNodeRouter = new DataNodeRouter(connection.getRuntimeContext().getMetaData(), connection.getRuntimeContext().getProperties(), connection.getRuntimeContext().getSqlParserEngine());
this.resultSetType = resultSetType;
this.resultSetConcurrency = resultSetConcurrency;
this.resultSetHoldability = resultSetHoldability;
......@@ -80,8 +80,8 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
}
clearPrevious();
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
dateNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
dataNodeRouter.registerDecorator(runtimeContext.getRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
Collection<RouteUnit> routeUnits = routeContext.getRouteResult().getRouteUnits();
Preconditions.checkState(1 == routeUnits.size(), "Cannot support executeQuery for DML or DDL");
Statement statement = connection.getConnection(routeUnits.iterator().next().getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -94,7 +94,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
int result = 0;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -109,7 +109,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
int result = 0;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -124,7 +124,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
int result = 0;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -139,7 +139,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
int result = 0;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -154,7 +154,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
boolean result = false;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -169,7 +169,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
boolean result = false;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -184,7 +184,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
boolean result = false;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......@@ -199,7 +199,7 @@ public final class MasterSlaveStatement extends AbstractStatementAdapter {
clearPrevious();
boolean result = false;
MasterSlaveRuntimeContext runtimeContext = connection.getRuntimeContext();
RouteContext routeContext = dateNodeRouter.route(sql, Collections.emptyList(), false);
RouteContext routeContext = dataNodeRouter.route(sql, Collections.emptyList(), false);
routeContext = new MasterSlaveRouteDecorator().decorate(routeContext, runtimeContext.getMetaData(), runtimeContext.getRule(), runtimeContext.getProperties());
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
Statement statement = connection.getConnection(each.getDataSourceMapper().getActualName()).createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
......
......@@ -46,7 +46,7 @@ import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContext;
import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContextDecorator;
import org.apache.shardingsphere.underlying.rewrite.engine.SQLRewriteResult;
import org.apache.shardingsphere.underlying.rewrite.engine.impl.DefaultSQLRewriteEngine;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
......@@ -102,9 +102,9 @@ public final class PreparedStatementExecutorWrapper implements JDBCExecutorWrapp
sqlRewriteContext.generateSQLTokens();
String rewriteSQL = new DefaultSQLRewriteEngine().rewrite(sqlRewriteContext).getSql();
ExecutionContext result = new ExecutionContext(sqlStatementContext);
DateNodeRouter dateNodeRouter = new DateNodeRouter(logicSchema.getMetaData(), SHARDING_PROXY_CONTEXT.getProperties(), logicSchema.getSqlParserEngine());
dateNodeRouter.registerDecorator(((MasterSlaveSchema) logicSchema).getMasterSlaveRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dateNodeRouter.route(rewriteSQL, parameters, true);
DataNodeRouter dataNodeRouter = new DataNodeRouter(logicSchema.getMetaData(), SHARDING_PROXY_CONTEXT.getProperties(), logicSchema.getSqlParserEngine());
dataNodeRouter.registerDecorator(((MasterSlaveSchema) logicSchema).getMasterSlaveRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dataNodeRouter.route(rewriteSQL, parameters, true);
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
result.getExecutionUnits().add(new ExecutionUnit(each.getDataSourceMapper().getActualName(), new SQLUnit(rewriteSQL, parameters)));
}
......
......@@ -46,7 +46,7 @@ import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContext;
import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContextDecorator;
import org.apache.shardingsphere.underlying.rewrite.engine.SQLRewriteResult;
import org.apache.shardingsphere.underlying.rewrite.engine.impl.DefaultSQLRewriteEngine;
import org.apache.shardingsphere.underlying.route.DateNodeRouter;
import org.apache.shardingsphere.underlying.route.DataNodeRouter;
import org.apache.shardingsphere.underlying.route.context.RouteContext;
import org.apache.shardingsphere.underlying.route.context.RouteUnit;
......@@ -99,9 +99,9 @@ public final class StatementExecutorWrapper implements JDBCExecutorWrapper {
sqlRewriteContext.generateSQLTokens();
String rewriteSQL = new DefaultSQLRewriteEngine().rewrite(sqlRewriteContext).getSql();
ExecutionContext result = new ExecutionContext(sqlStatementContext);
DateNodeRouter dateNodeRouter = new DateNodeRouter(logicSchema.getMetaData(), SHARDING_PROXY_CONTEXT.getProperties(), logicSchema.getSqlParserEngine());
dateNodeRouter.registerDecorator(((MasterSlaveSchema) logicSchema).getMasterSlaveRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dateNodeRouter.route(rewriteSQL, Collections.emptyList(), false);
DataNodeRouter dataNodeRouter = new DataNodeRouter(logicSchema.getMetaData(), SHARDING_PROXY_CONTEXT.getProperties(), logicSchema.getSqlParserEngine());
dataNodeRouter.registerDecorator(((MasterSlaveSchema) logicSchema).getMasterSlaveRule(), new MasterSlaveRouteDecorator());
RouteContext routeContext = dataNodeRouter.route(rewriteSQL, Collections.emptyList(), false);
for (RouteUnit each : routeContext.getRouteResult().getRouteUnits()) {
result.getExecutionUnits().add(new ExecutionUnit(each.getDataSourceMapper().getActualName(), new SQLUnit(rewriteSQL, Collections.emptyList())));
}
......
......@@ -39,7 +39,7 @@ import java.util.Map.Entry;
* Data node router.
*/
@RequiredArgsConstructor
public final class DateNodeRouter {
public final class DataNodeRouter {
private final ShardingSphereMetaData metaData;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册