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

Simplify RuntimeContext (#5078)

* remove SingleDataSourceRuntimeContext

* remove MultipleDataSourcesRuntimeContext

* move package

* refactor AbstractRuntimeContext's constructor
上级 8f22f210
...@@ -24,7 +24,7 @@ import org.apache.shardingsphere.sharding.execute.sql.execute.SQLExecuteCallback ...@@ -24,7 +24,7 @@ import org.apache.shardingsphere.sharding.execute.sql.execute.SQLExecuteCallback
import org.apache.shardingsphere.sharding.execute.sql.execute.SQLExecuteTemplate; import org.apache.shardingsphere.sharding.execute.sql.execute.SQLExecuteTemplate;
import org.apache.shardingsphere.sharding.execute.sql.prepare.SQLExecutePrepareTemplate; import org.apache.shardingsphere.sharding.execute.sql.prepare.SQLExecutePrepareTemplate;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy; import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategyFactory; import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategyFactory;
import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
......
...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection; ...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.EncryptRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.EncryptRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.EncryptPreparedStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.EncryptPreparedStatement;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.EncryptStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.EncryptStatement;
import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationConnection;
......
...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection; ...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.MasterSlaveRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.MasterSlaveRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.MasterSlaveDatabaseMetaData; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.MasterSlaveDatabaseMetaData;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.MasterSlavePreparedStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.MasterSlavePreparedStatement;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.MasterSlaveStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.MasterSlaveStatement;
......
...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection; ...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShadowRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShadowRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShadowPreparedStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShadowPreparedStatement;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShadowStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShadowStatement;
import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationConnection;
......
...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection; ...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.connection;
import lombok.Getter; import lombok.Getter;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.ShardingDatabaseMetaData; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.ShardingDatabaseMetaData;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingPreparedStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingPreparedStatement;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingStatement;
......
...@@ -17,18 +17,32 @@ ...@@ -17,18 +17,32 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.core.context; package org.apache.shardingsphere.shardingjdbc.jdbc.core.context;
import com.google.common.collect.ImmutableMap;
import lombok.Getter; import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.core.log.ConfigurationLogger; import org.apache.shardingsphere.core.log.ConfigurationLogger;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
import org.apache.shardingsphere.sql.parser.SQLParserEngine; import org.apache.shardingsphere.sql.parser.SQLParserEngine;
import org.apache.shardingsphere.sql.parser.SQLParserEngineFactory; import org.apache.shardingsphere.sql.parser.SQLParserEngineFactory;
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationPropertyKey; import org.apache.shardingsphere.underlying.common.config.DatabaseAccessConfiguration;
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationProperties; import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationPropertyKey;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseTypes; import org.apache.shardingsphere.underlying.common.database.type.DatabaseTypes;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData; import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.common.metadata.datasource.DataSourceMetas;
import org.apache.shardingsphere.underlying.common.metadata.schema.RuleSchemaMetaData;
import org.apache.shardingsphere.underlying.common.metadata.schema.RuleSchemaMetaDataLoader;
import org.apache.shardingsphere.underlying.common.rule.BaseRule; import org.apache.shardingsphere.underlying.common.rule.BaseRule;
import org.apache.shardingsphere.underlying.executor.engine.ExecutorEngine; import org.apache.shardingsphere.underlying.executor.engine.ExecutorEngine;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties; import java.util.Properties;
/** /**
...@@ -37,6 +51,7 @@ import java.util.Properties; ...@@ -37,6 +51,7 @@ import java.util.Properties;
* @param <T> type of rule * @param <T> type of rule
*/ */
@Getter @Getter
@Slf4j(topic = "ShardingSphere-metadata")
public abstract class AbstractRuntimeContext<T extends BaseRule> implements RuntimeContext<T> { public abstract class AbstractRuntimeContext<T extends BaseRule> implements RuntimeContext<T> {
private final T rule; private final T rule;
...@@ -49,17 +64,45 @@ public abstract class AbstractRuntimeContext<T extends BaseRule> implements Runt ...@@ -49,17 +64,45 @@ public abstract class AbstractRuntimeContext<T extends BaseRule> implements Runt
private final SQLParserEngine sqlParserEngine; private final SQLParserEngine sqlParserEngine;
protected AbstractRuntimeContext(final T rule, final Properties props, final DatabaseType databaseType) { private final ShardingSphereMetaData metaData;
public AbstractRuntimeContext(final Map<String, DataSource> dataSourceMap, final T rule, final Properties props, final DatabaseType databaseType) throws SQLException {
this.rule = rule; this.rule = rule;
properties = new ConfigurationProperties(null == props ? new Properties() : props); properties = new ConfigurationProperties(null == props ? new Properties() : props);
this.databaseType = databaseType; this.databaseType = databaseType;
executorEngine = new ExecutorEngine(properties.<Integer>getValue(ConfigurationPropertyKey.EXECUTOR_SIZE)); executorEngine = new ExecutorEngine(properties.<Integer>getValue(ConfigurationPropertyKey.EXECUTOR_SIZE));
sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine(DatabaseTypes.getTrunkDatabaseTypeName(databaseType)); sqlParserEngine = SQLParserEngineFactory.getSQLParserEngine(DatabaseTypes.getTrunkDatabaseTypeName(databaseType));
metaData = createMetaData(dataSourceMap, databaseType);
ConfigurationLogger.log(rule.getRuleConfiguration()); ConfigurationLogger.log(rule.getRuleConfiguration());
ConfigurationLogger.log(props); ConfigurationLogger.log(props);
} }
protected abstract ShardingSphereMetaData getMetaData(); public AbstractRuntimeContext(final DataSource dataSource, final T rule, final Properties props, final DatabaseType databaseType) throws SQLException {
this(ImmutableMap.of("ds", dataSource), rule, props, databaseType);
}
protected abstract Collection<BaseRule> getRules();
private ShardingSphereMetaData createMetaData(final Map<String, DataSource> dataSourceMap, final DatabaseType databaseType) throws SQLException {
long start = System.currentTimeMillis();
DataSourceMetas dataSourceMetas = new DataSourceMetas(databaseType, getDatabaseAccessConfigurationMap(dataSourceMap));
RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataLoader(getRules()).load(getDatabaseType(), dataSourceMap, getProperties());
ShardingSphereMetaData result = new ShardingSphereMetaData(dataSourceMetas, ruleSchemaMetaData);
log.info("Meta data load finished, cost {} milliseconds.", System.currentTimeMillis() - start);
return result;
}
private Map<String, DatabaseAccessConfiguration> getDatabaseAccessConfigurationMap(final Map<String, DataSource> dataSourceMap) throws SQLException {
Map<String, DatabaseAccessConfiguration> result = new LinkedHashMap<>(dataSourceMap.size(), 1);
for (Entry<String, DataSource> entry : dataSourceMap.entrySet()) {
DataSource dataSource = entry.getValue();
try (Connection connection = dataSource.getConnection()) {
DatabaseMetaData metaData = connection.getMetaData();
result.put(entry.getKey(), new DatabaseAccessConfiguration(metaData.getURL(), metaData.getUserName(), null));
}
}
return result;
}
@Override @Override
public void close() throws Exception { public void close() throws Exception {
......
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.shardingjdbc.jdbc.core.context;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.underlying.common.config.DatabaseAccessConfiguration;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.common.metadata.datasource.DataSourceMetas;
import org.apache.shardingsphere.underlying.common.metadata.schema.RuleSchemaMetaData;
import org.apache.shardingsphere.underlying.common.metadata.schema.RuleSchemaMetaDataLoader;
import org.apache.shardingsphere.underlying.common.rule.BaseRule;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
/**
* Runtime context for multiple data sources.
*
* @param <T> type of rule
*/
@Getter
@Slf4j(topic = "ShardingSphere-metadata")
public abstract class MultipleDataSourcesRuntimeContext<T extends BaseRule> extends AbstractRuntimeContext<T> {
private final ShardingSphereMetaData metaData;
protected MultipleDataSourcesRuntimeContext(final Map<String, DataSource> dataSourceMap, final T rule, final Properties props, final DatabaseType databaseType) throws SQLException {
super(rule, props, databaseType);
metaData = createMetaData(dataSourceMap, databaseType);
}
private ShardingSphereMetaData createMetaData(final Map<String, DataSource> dataSourceMap, final DatabaseType databaseType) throws SQLException {
long start = System.currentTimeMillis();
DataSourceMetas dataSourceMetas = new DataSourceMetas(databaseType, getDatabaseAccessConfigurationMap(dataSourceMap));
RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataLoader(getRules()).load(getDatabaseType(), dataSourceMap, getProperties());
ShardingSphereMetaData result = new ShardingSphereMetaData(dataSourceMetas, ruleSchemaMetaData);
log.info("Meta data load finished, cost {} milliseconds.", System.currentTimeMillis() - start);
return result;
}
private Map<String, DatabaseAccessConfiguration> getDatabaseAccessConfigurationMap(final Map<String, DataSource> dataSourceMap) throws SQLException {
Map<String, DatabaseAccessConfiguration> result = new LinkedHashMap<>(dataSourceMap.size(), 1);
for (Entry<String, DataSource> entry : dataSourceMap.entrySet()) {
DataSource dataSource = entry.getValue();
try (Connection connection = dataSource.getConnection()) {
DatabaseMetaData metaData = connection.getMetaData();
result.put(entry.getKey(), new DatabaseAccessConfiguration(metaData.getURL(), metaData.getUserName(), null));
}
}
return result;
}
protected abstract Collection<BaseRule> getRules();
}
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.shardingsphere.shardingjdbc.jdbc.core.context;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.underlying.common.config.DatabaseAccessConfiguration;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
import org.apache.shardingsphere.underlying.common.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.underlying.common.metadata.datasource.DataSourceMetas;
import org.apache.shardingsphere.underlying.common.metadata.schema.RuleSchemaMetaData;
import org.apache.shardingsphere.underlying.common.metadata.schema.RuleSchemaMetaDataLoader;
import org.apache.shardingsphere.underlying.common.rule.BaseRule;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
/**
* Runtime context for single data source.
*
* @param <T> type of rule
*/
@Getter
@Slf4j(topic = "ShardingSphere-metadata")
public abstract class SingleDataSourceRuntimeContext<T extends BaseRule> extends AbstractRuntimeContext<T> {
private final ShardingSphereMetaData metaData;
protected SingleDataSourceRuntimeContext(final DataSource dataSource, final T rule, final Properties props, final DatabaseType databaseType) throws SQLException {
super(rule, props, databaseType);
metaData = createMetaData(dataSource, databaseType);
}
private ShardingSphereMetaData createMetaData(final DataSource dataSource, final DatabaseType databaseType) throws SQLException {
long start = System.currentTimeMillis();
DataSourceMetas dataSourceMetas = new DataSourceMetas(databaseType, getDatabaseAccessConfigurationMap(dataSource));
RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaDataLoader(Collections.singletonList(getRule())).load(getDatabaseType(), dataSource, getProperties());
ShardingSphereMetaData result = new ShardingSphereMetaData(dataSourceMetas, ruleSchemaMetaData);
log.info("Meta data load finished, cost {} milliseconds.", System.currentTimeMillis() - start);
return result;
}
private Map<String, DatabaseAccessConfiguration> getDatabaseAccessConfigurationMap(final DataSource dataSource) throws SQLException {
Map<String, DatabaseAccessConfiguration> result = new LinkedHashMap<>(1, 1);
try (Connection connection = dataSource.getConnection()) {
DatabaseMetaData metaData = connection.getMetaData();
result.put("ds", new DatabaseAccessConfiguration(metaData.getURL(), metaData.getUserName(), null));
}
return result;
}
}
...@@ -15,21 +15,30 @@ ...@@ -15,21 +15,30 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.shardingsphere.shardingjdbc.jdbc.core.context; package org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl;
import org.apache.shardingsphere.encrypt.rule.EncryptRule; import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.AbstractRuntimeContext;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType; import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
import org.apache.shardingsphere.underlying.common.rule.BaseRule;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Collection;
import java.util.Collections;
import java.util.Properties; import java.util.Properties;
/** /**
* Runtime context for encrypt. * Runtime context for encrypt.
*/ */
public final class EncryptRuntimeContext extends SingleDataSourceRuntimeContext<EncryptRule> { public final class EncryptRuntimeContext extends AbstractRuntimeContext<EncryptRule> {
public EncryptRuntimeContext(final DataSource dataSource, final EncryptRule encryptRule, final Properties props, final DatabaseType databaseType) throws SQLException { public EncryptRuntimeContext(final DataSource dataSource, final EncryptRule encryptRule, final Properties props, final DatabaseType databaseType) throws SQLException {
super(dataSource, encryptRule, props, databaseType); super(dataSource, encryptRule, props, databaseType);
} }
@Override
protected Collection<BaseRule> getRules() {
return Collections.singletonList(getRule());
}
} }
...@@ -15,10 +15,11 @@ ...@@ -15,10 +15,11 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.shardingsphere.shardingjdbc.jdbc.core.context; package org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl;
import lombok.Getter; import lombok.Getter;
import org.apache.shardingsphere.core.rule.MasterSlaveRule; import org.apache.shardingsphere.core.rule.MasterSlaveRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.AbstractRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.CachedDatabaseMetaData; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.CachedDatabaseMetaData;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType; import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
import org.apache.shardingsphere.underlying.common.rule.BaseRule; import org.apache.shardingsphere.underlying.common.rule.BaseRule;
...@@ -35,7 +36,7 @@ import java.util.Properties; ...@@ -35,7 +36,7 @@ import java.util.Properties;
* Runtime context for master-slave. * Runtime context for master-slave.
*/ */
@Getter @Getter
public final class MasterSlaveRuntimeContext extends MultipleDataSourcesRuntimeContext<MasterSlaveRule> { public final class MasterSlaveRuntimeContext extends AbstractRuntimeContext<MasterSlaveRule> {
private final CachedDatabaseMetaData cachedDatabaseMetaData; private final CachedDatabaseMetaData cachedDatabaseMetaData;
......
...@@ -15,24 +15,28 @@ ...@@ -15,24 +15,28 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.shardingsphere.shardingjdbc.jdbc.core.context; package org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl;
import lombok.Getter; import lombok.Getter;
import org.apache.shardingsphere.core.rule.ShadowRule; import org.apache.shardingsphere.core.rule.ShadowRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.AbstractRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.EncryptDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.EncryptDataSource;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.MasterSlaveDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.MasterSlaveDataSource;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType; import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
import org.apache.shardingsphere.underlying.common.rule.BaseRule;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Collection;
import java.util.Collections;
import java.util.Properties; import java.util.Properties;
/** /**
* Runtime context for shadow. * Runtime context for shadow.
*/ */
@Getter @Getter
public final class ShadowRuntimeContext extends SingleDataSourceRuntimeContext<ShadowRule> { public final class ShadowRuntimeContext extends AbstractRuntimeContext<ShadowRule> {
private final DataSource actualDataSource; private final DataSource actualDataSource;
...@@ -41,8 +45,8 @@ public final class ShadowRuntimeContext extends SingleDataSourceRuntimeContext<S ...@@ -41,8 +45,8 @@ public final class ShadowRuntimeContext extends SingleDataSourceRuntimeContext<S
private final ShadowType shadowType; private final ShadowType shadowType;
public ShadowRuntimeContext(final DataSource actualDataSource, final DataSource shadowDataSource, public ShadowRuntimeContext(final DataSource actualDataSource, final DataSource shadowDataSource,
final ShadowRule rule, final Properties props, final DatabaseType databaseType) throws SQLException { final ShadowRule shadowRule, final Properties props, final DatabaseType databaseType) throws SQLException {
super(actualDataSource, rule, props, databaseType); super(actualDataSource, shadowRule, props, databaseType);
this.actualDataSource = actualDataSource; this.actualDataSource = actualDataSource;
this.shadowDataSource = shadowDataSource; this.shadowDataSource = shadowDataSource;
shadowType = getShadowType(actualDataSource); shadowType = getShadowType(actualDataSource);
...@@ -61,6 +65,11 @@ public final class ShadowRuntimeContext extends SingleDataSourceRuntimeContext<S ...@@ -61,6 +65,11 @@ public final class ShadowRuntimeContext extends SingleDataSourceRuntimeContext<S
return ShadowType.RAW; return ShadowType.RAW;
} }
@Override
protected Collection<BaseRule> getRules() {
return Collections.singletonList(getRule());
}
public enum ShadowType { public enum ShadowType {
MASTER_SLAVE, ENCRYPT, SHARDING, RAW MASTER_SLAVE, ENCRYPT, SHARDING, RAW
} }
......
...@@ -15,10 +15,11 @@ ...@@ -15,10 +15,11 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.shardingsphere.shardingjdbc.jdbc.core.context; package org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl;
import lombok.Getter; import lombok.Getter;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.AbstractRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.CachedDatabaseMetaData; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.CachedDatabaseMetaData;
import org.apache.shardingsphere.transaction.ShardingTransactionManagerEngine; import org.apache.shardingsphere.transaction.ShardingTransactionManagerEngine;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseType; import org.apache.shardingsphere.underlying.common.database.type.DatabaseType;
...@@ -35,7 +36,7 @@ import java.util.Properties; ...@@ -35,7 +36,7 @@ import java.util.Properties;
* Runtime context for sharding. * Runtime context for sharding.
*/ */
@Getter @Getter
public final class ShardingRuntimeContext extends MultipleDataSourcesRuntimeContext<ShardingRule> { public final class ShardingRuntimeContext extends AbstractRuntimeContext<ShardingRule> {
private final CachedDatabaseMetaData cachedDatabaseMetaData; private final CachedDatabaseMetaData cachedDatabaseMetaData;
......
...@@ -21,7 +21,7 @@ import lombok.Getter; ...@@ -21,7 +21,7 @@ import lombok.Getter;
import org.apache.shardingsphere.encrypt.rule.EncryptRule; import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.EncryptConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.EncryptConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.EncryptRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.EncryptRuntimeContext;
import org.apache.shardingsphere.spi.ShardingSphereServiceLoader; import org.apache.shardingsphere.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.underlying.merge.engine.ResultProcessEngine; import org.apache.shardingsphere.underlying.merge.engine.ResultProcessEngine;
import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContextDecorator; import org.apache.shardingsphere.underlying.rewrite.context.SQLRewriteContextDecorator;
......
...@@ -21,7 +21,7 @@ import lombok.Getter; ...@@ -21,7 +21,7 @@ import lombok.Getter;
import org.apache.shardingsphere.core.rule.MasterSlaveRule; import org.apache.shardingsphere.core.rule.MasterSlaveRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.MasterSlaveRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.MasterSlaveRuntimeContext;
import org.apache.shardingsphere.spi.ShardingSphereServiceLoader; import org.apache.shardingsphere.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.underlying.route.decorator.RouteDecorator; import org.apache.shardingsphere.underlying.route.decorator.RouteDecorator;
......
...@@ -22,7 +22,7 @@ import lombok.Getter; ...@@ -22,7 +22,7 @@ import lombok.Getter;
import org.apache.shardingsphere.core.rule.ShadowRule; import org.apache.shardingsphere.core.rule.ShadowRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShadowConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShadowConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShadowRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShadowRuntimeContext;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.Connection; import java.sql.Connection;
......
...@@ -22,7 +22,7 @@ import lombok.Getter; ...@@ -22,7 +22,7 @@ import lombok.Getter;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractDataSourceAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.spi.ShardingSphereServiceLoader; import org.apache.shardingsphere.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.transaction.core.TransactionTypeHolder; import org.apache.shardingsphere.transaction.core.TransactionTypeHolder;
import org.apache.shardingsphere.underlying.merge.engine.ResultProcessEngine; import org.apache.shardingsphere.underlying.merge.engine.ResultProcessEngine;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset; package org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset;
import org.apache.shardingsphere.sharding.execute.sql.execute.result.StreamQueryResult; import org.apache.shardingsphere.sharding.execute.sql.execute.result.StreamQueryResult;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.EncryptRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.EncryptRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationResultSet;
import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.underlying.merge.result.MergedResult; import org.apache.shardingsphere.underlying.merge.result.MergedResult;
......
...@@ -24,7 +24,7 @@ import lombok.RequiredArgsConstructor; ...@@ -24,7 +24,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractShardingPreparedStatementAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractShardingPreparedStatementAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.EncryptConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.EncryptConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant; import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.EncryptRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.EncryptRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.EncryptResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.EncryptResultSet;
import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.underlying.executor.context.ExecutionContext; import org.apache.shardingsphere.underlying.executor.context.ExecutionContext;
......
...@@ -22,7 +22,7 @@ import com.google.common.base.Strings; ...@@ -22,7 +22,7 @@ import com.google.common.base.Strings;
import lombok.Getter; import lombok.Getter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.EncryptConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.EncryptConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant; import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.EncryptRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.EncryptRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.EncryptResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.EncryptResultSet;
import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.unsupported.AbstractUnsupportedOperationStatement;
import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
......
...@@ -23,7 +23,7 @@ import lombok.Getter; ...@@ -23,7 +23,7 @@ import lombok.Getter;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractMasterSlavePreparedStatementAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractMasterSlavePreparedStatementAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant; import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.MasterSlaveRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.MasterSlaveRuntimeContext;
import org.apache.shardingsphere.underlying.executor.context.ExecutionContext; import org.apache.shardingsphere.underlying.executor.context.ExecutionContext;
import org.apache.shardingsphere.underlying.executor.context.ExecutionUnit; import org.apache.shardingsphere.underlying.executor.context.ExecutionUnit;
import org.apache.shardingsphere.underlying.pluggble.prepare.PreparedQueryPrepareEngine; import org.apache.shardingsphere.underlying.pluggble.prepare.PreparedQueryPrepareEngine;
......
...@@ -25,7 +25,7 @@ import org.apache.shardingsphere.masterslave.route.engine.MasterSlaveRouteDecora ...@@ -25,7 +25,7 @@ import org.apache.shardingsphere.masterslave.route.engine.MasterSlaveRouteDecora
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractStatementAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractStatementAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant; import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.MasterSlaveRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.MasterSlaveRuntimeContext;
import org.apache.shardingsphere.underlying.executor.context.ExecutionContext; import org.apache.shardingsphere.underlying.executor.context.ExecutionContext;
import org.apache.shardingsphere.underlying.executor.context.ExecutionUnit; import org.apache.shardingsphere.underlying.executor.context.ExecutionUnit;
import org.apache.shardingsphere.underlying.pluggble.prepare.SimpleQueryPrepareEngine; import org.apache.shardingsphere.underlying.pluggble.prepare.SimpleQueryPrepareEngine;
......
...@@ -26,7 +26,7 @@ import org.apache.shardingsphere.shardingjdbc.executor.batch.BatchPreparedStatem ...@@ -26,7 +26,7 @@ import org.apache.shardingsphere.shardingjdbc.executor.batch.BatchPreparedStatem
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractShardingPreparedStatementAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractShardingPreparedStatementAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant; import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.GeneratedKeysResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.GeneratedKeysResultSet;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.ShardingResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.ShardingResultSet;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.metadata.ShardingParameterMetaData; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.metadata.ShardingParameterMetaData;
......
...@@ -24,7 +24,7 @@ import org.apache.shardingsphere.shardingjdbc.executor.StatementExecutor; ...@@ -24,7 +24,7 @@ import org.apache.shardingsphere.shardingjdbc.executor.StatementExecutor;
import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractStatementAdapter; import org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractStatementAdapter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant; import org.apache.shardingsphere.shardingjdbc.jdbc.core.constant.SQLExceptionConstant;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.GeneratedKeysResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.GeneratedKeysResultSet;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.ShardingResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.ShardingResultSet;
import org.apache.shardingsphere.sql.parser.binder.segment.insert.keygen.GeneratedKeyContext; import org.apache.shardingsphere.sql.parser.binder.segment.insert.keygen.GeneratedKeyContext;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.refreh; package org.apache.shardingsphere.shardingjdbc.jdbc.refreh;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
import java.sql.SQLException; import java.sql.SQLException;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl; package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy; import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
import org.apache.shardingsphere.sql.parser.binder.statement.ddl.AlterTableStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.ddl.AlterTableStatementContext;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl; package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy; import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.sql.parser.binder.metadata.index.IndexMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.index.IndexMetaData;
import org.apache.shardingsphere.sql.parser.binder.statement.ddl.CreateIndexStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.ddl.CreateIndexStatementContext;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl; package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy; import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
import org.apache.shardingsphere.sql.parser.binder.statement.ddl.CreateTableStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.ddl.CreateTableStatementContext;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl; package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy; import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl; package org.apache.shardingsphere.shardingjdbc.jdbc.refreh.impl;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy; import org.apache.shardingsphere.shardingjdbc.jdbc.refreh.MetaDataRefreshStrategy;
import org.apache.shardingsphere.sql.parser.binder.statement.ddl.DropTableStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.ddl.DropTableStatementContext;
......
...@@ -21,7 +21,7 @@ import lombok.SneakyThrows; ...@@ -21,7 +21,7 @@ import lombok.SneakyThrows;
import org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration; import org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration;
import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration; import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.junit.Test; import org.junit.Test;
import org.mockito.ArgumentMatchers; import org.mockito.ArgumentMatchers;
import org.mockito.Mockito; import org.mockito.Mockito;
......
...@@ -25,7 +25,7 @@ import org.apache.shardingsphere.encrypt.strategy.EncryptTable; ...@@ -25,7 +25,7 @@ import org.apache.shardingsphere.encrypt.strategy.EncryptTable;
import org.apache.shardingsphere.encrypt.strategy.spi.Encryptor; import org.apache.shardingsphere.encrypt.strategy.spi.Encryptor;
import org.apache.shardingsphere.sharding.execute.sql.execute.threadlocal.ExecutorExceptionHandler; import org.apache.shardingsphere.sharding.execute.sql.execute.threadlocal.ExecutorExceptionHandler;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.sql.parser.binder.segment.table.TablesContext; import org.apache.shardingsphere.sql.parser.binder.segment.table.TablesContext;
import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.transaction.ShardingTransactionManagerEngine; import org.apache.shardingsphere.transaction.ShardingTransactionManagerEngine;
......
...@@ -24,7 +24,7 @@ import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration; ...@@ -24,7 +24,7 @@ import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration;
import org.apache.shardingsphere.underlying.common.database.type.DatabaseTypes; import org.apache.shardingsphere.underlying.common.database.type.DatabaseTypes;
import org.apache.shardingsphere.core.rule.MasterSlaveRule; import org.apache.shardingsphere.core.rule.MasterSlaveRule;
import org.apache.shardingsphere.shardingjdbc.fixture.TestDataSource; import org.apache.shardingsphere.shardingjdbc.fixture.TestDataSource;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.MasterSlaveDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.MasterSlaveDataSource;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.fixture.BASEShardingTransactionManagerFixture; import org.apache.shardingsphere.shardingjdbc.jdbc.core.fixture.BASEShardingTransactionManagerFixture;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.fixture.XAShardingTransactionManagerFixture; import org.apache.shardingsphere.shardingjdbc.jdbc.core.fixture.XAShardingTransactionManagerFixture;
......
...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata; ...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata;
import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.LinkedHashMultimap;
import org.apache.shardingsphere.core.rule.MasterSlaveRule; import org.apache.shardingsphere.core.rule.MasterSlaveRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.MasterSlaveRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.MasterSlaveRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.DatabaseMetaDataResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.DatabaseMetaDataResultSet;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
......
...@@ -22,7 +22,7 @@ import org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration; ...@@ -22,7 +22,7 @@ import org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration;
import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration; import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.DatabaseMetaDataResultSet; import org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.DatabaseMetaDataResultSet;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
......
...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset; ...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.encrypt.rule.EncryptRule; import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection; import org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.ShardingConnection;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingStatement; import org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingStatement;
import org.apache.shardingsphere.sql.parser.binder.segment.table.TablesContext; import org.apache.shardingsphere.sql.parser.binder.segment.table.TablesContext;
import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext; import org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
......
...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.refresh; ...@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.refresh;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import lombok.Getter; import lombok.Getter;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.sql.parser.binder.metadata.column.ColumnMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.column.ColumnMetaData;
import org.apache.shardingsphere.sql.parser.binder.metadata.index.IndexMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.index.IndexMetaData;
import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData; import org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
......
...@@ -23,7 +23,7 @@ import org.apache.shardingsphere.underlying.common.rule.DataNode; ...@@ -23,7 +23,7 @@ import org.apache.shardingsphere.underlying.common.rule.DataNode;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.core.rule.TableRule; import org.apache.shardingsphere.core.rule.TableRule;
import org.apache.shardingsphere.core.strategy.route.inline.InlineShardingStrategy; import org.apache.shardingsphere.core.strategy.route.inline.InlineShardingStrategy;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
import org.apache.shardingsphere.shardingjdbc.orchestration.internal.datasource.OrchestrationShardingDataSource; import org.apache.shardingsphere.shardingjdbc.orchestration.internal.datasource.OrchestrationShardingDataSource;
import org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.registry.TestCenterRepository; import org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.registry.TestCenterRepository;
......
...@@ -23,7 +23,7 @@ import org.apache.shardingsphere.underlying.common.rule.DataNode; ...@@ -23,7 +23,7 @@ import org.apache.shardingsphere.underlying.common.rule.DataNode;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.core.rule.TableRule; import org.apache.shardingsphere.core.rule.TableRule;
import org.apache.shardingsphere.core.strategy.route.inline.InlineShardingStrategy; import org.apache.shardingsphere.core.strategy.route.inline.InlineShardingStrategy;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
import org.apache.shardingsphere.shardingjdbc.orchestration.internal.datasource.OrchestrationShardingDataSource; import org.apache.shardingsphere.shardingjdbc.orchestration.internal.datasource.OrchestrationShardingDataSource;
import org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.util.EmbedTestingServer; import org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.util.EmbedTestingServer;
......
...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.spring.boot.type; ...@@ -20,7 +20,7 @@ package org.apache.shardingsphere.shardingjdbc.spring.boot.type;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.apache.commons.dbcp2.BasicDataSource; import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.shardingsphere.core.rule.ShadowRule; import org.apache.shardingsphere.core.rule.ShadowRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShadowDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShadowDataSource;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationPropertyKey; import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationPropertyKey;
......
...@@ -25,7 +25,7 @@ import org.apache.shardingsphere.core.rule.TableRule; ...@@ -25,7 +25,7 @@ import org.apache.shardingsphere.core.rule.TableRule;
import org.apache.shardingsphere.core.strategy.route.inline.InlineShardingStrategy; import org.apache.shardingsphere.core.strategy.route.inline.InlineShardingStrategy;
import org.apache.shardingsphere.encrypt.rule.EncryptRule; import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.encrypt.strategy.spi.Encryptor; import org.apache.shardingsphere.encrypt.strategy.spi.Encryptor;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
import org.apache.shardingsphere.shardingjdbc.spring.boot.fixture.TestEncryptor; import org.apache.shardingsphere.shardingjdbc.spring.boot.fixture.TestEncryptor;
import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationPropertyKey; import org.apache.shardingsphere.underlying.common.config.properties.ConfigurationPropertyKey;
......
...@@ -31,7 +31,7 @@ import java.util.Iterator; ...@@ -31,7 +31,7 @@ import java.util.Iterator;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.apache.shardingsphere.core.rule.ShardingRule; import org.apache.shardingsphere.core.rule.ShardingRule;
import org.apache.shardingsphere.core.rule.TableRule; import org.apache.shardingsphere.core.rule.TableRule;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
import org.apache.shardingsphere.shardingjdbc.spring.fixture.DecrementKeyGenerateAlgorithm; import org.apache.shardingsphere.shardingjdbc.spring.fixture.DecrementKeyGenerateAlgorithm;
import org.apache.shardingsphere.shardingjdbc.spring.fixture.IncrementKeyGenerateAlgorithm; import org.apache.shardingsphere.shardingjdbc.spring.fixture.IncrementKeyGenerateAlgorithm;
......
...@@ -28,7 +28,7 @@ import org.apache.shardingsphere.core.rule.TableRule; ...@@ -28,7 +28,7 @@ import org.apache.shardingsphere.core.rule.TableRule;
import org.apache.shardingsphere.core.strategy.masterslave.RandomMasterSlaveLoadBalanceAlgorithm; import org.apache.shardingsphere.core.strategy.masterslave.RandomMasterSlaveLoadBalanceAlgorithm;
import org.apache.shardingsphere.core.strategy.masterslave.RoundRobinMasterSlaveLoadBalanceAlgorithm; import org.apache.shardingsphere.core.strategy.masterslave.RoundRobinMasterSlaveLoadBalanceAlgorithm;
import org.apache.shardingsphere.encrypt.strategy.impl.MD5Encryptor; import org.apache.shardingsphere.encrypt.strategy.impl.MD5Encryptor;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.ShardingRuntimeContext; import org.apache.shardingsphere.shardingjdbc.jdbc.core.context.impl.ShardingRuntimeContext;
import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource; import org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.ShardingDataSource;
import org.apache.shardingsphere.shardingjdbc.spring.algorithm.DefaultComplexKeysShardingAlgorithm; import org.apache.shardingsphere.shardingjdbc.spring.algorithm.DefaultComplexKeysShardingAlgorithm;
import org.apache.shardingsphere.shardingjdbc.spring.algorithm.DefaultHintShardingAlgorithm; import org.apache.shardingsphere.shardingjdbc.spring.algorithm.DefaultHintShardingAlgorithm;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册