You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/08/11 09:06:21 UTC
[shardingsphere] branch master updated: rename SQLSession.java to ConnectionContext.java (#20076)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new ed37e7dcb22 rename SQLSession.java to ConnectionContext.java (#20076)
ed37e7dcb22 is described below
commit ed37e7dcb22dd8354a785aaf6f221e0cab4df19a
Author: Chuxin Chen <ch...@qq.com>
AuthorDate: Thu Aug 11 17:06:05 2022 +0800
rename SQLSession.java to ConnectionContext.java (#20076)
---
.../merge/dal/ShardingDALResultMerger.java | 4 +-
.../merge/ddl/ShardingDDLResultMerger.java | 6 +--
.../merge/ddl/fetch/FetchStreamMergedResult.java | 20 +++++-----
.../merge/dql/ShardingDQLResultMerger.java | 4 +-
.../impl/FetchDirectionTokenGenerator.java | 14 +++----
.../rewrite/token/pojo/FetchDirectionToken.java | 11 +++---
.../common/IteratorStreamMergedResultTest.java | 14 +++----
.../merge/dal/ShardingDALResultMergerTest.java | 18 ++++-----
.../merge/ddl/ShardingDDLResultMergerTest.java | 14 +++----
.../ddl/fetch/FetchStreamMergedResultTest.java | 30 +++++++-------
.../merge/dql/ShardingDQLResultMergerTest.java | 46 +++++++++++-----------
.../dql/groupby/GroupByMemoryMergedResultTest.java | 10 ++---
.../dql/groupby/GroupByStreamMergedResultTest.java | 9 +++--
.../dql/orderby/OrderByStreamMergedResultTest.java | 12 +++---
.../pagination/LimitDecoratorMergedResultTest.java | 8 ++--
.../RowNumberDecoratorMergedResultTest.java | 10 ++---
.../TopAndRowNumberDecoratorMergedResultTest.java | 12 +++---
.../{SQLSession.java => ConnectionContext.java} | 16 ++++----
...QLSession.java => CursorConnectionContext.java} | 4 +-
.../infra/context/kernel/KernelProcessor.java | 12 +++---
.../infra/context/kernel/KernelProcessorTest.java | 4 +-
.../table/FilterableTableScanExecutor.java | 8 ++--
.../shardingsphere/infra/merge/MergeEngine.java | 10 ++---
.../infra/merge/engine/merger/ResultMerger.java | 6 +--
.../merger/impl/TransparentResultMerger.java | 5 ++-
.../infra/merge/MergeEngineTest.java | 10 ++---
.../merger/impl/TransparentResultMergerTest.java | 5 ++-
.../merge/fixture/merger/ResultMergerFixture.java | 4 +-
.../infra/rewrite/SQLRewriteEntry.java | 12 +++---
.../infra/rewrite/context/SQLRewriteContext.java | 10 ++---
.../sql/token/generator/SQLTokenGenerators.java | 16 ++++----
...ssionAware.java => ConnectionContextAware.java} | 12 +++---
.../infra/rewrite/SQLRewriteEntryTest.java | 6 +--
.../rewrite/context/SQLRewriteContextTest.java | 10 ++---
.../engine/GenericSQLRewriteEngineTest.java | 4 +-
.../rewrite/engine/RouteSQLRewriteEngineTest.java | 14 +++----
.../token/generator/SQLTokenGeneratorsTest.java | 6 +--
.../core/connection/ShardingSphereConnection.java | 14 +++----
.../statement/ShardingSpherePreparedStatement.java | 9 +++--
.../core/statement/ShardingSphereStatement.java | 9 +++--
.../communication/DatabaseCommunicationEngine.java | 10 ++---
.../jdbc/JDBCDatabaseCommunicationEngine.java | 2 +-
.../transaction/JDBCBackendTransactionManager.java | 4 +-
.../vertx/VertxDatabaseCommunicationEngine.java | 2 +-
.../handler/distsql/rul/sql/PreviewHandler.java | 6 +--
.../handler/transaction/TransactionXAHandler.java | 2 +-
.../proxy/backend/session/ConnectionSession.java | 6 +--
.../JDBCBackendTransactionManagerTest.java | 6 +--
.../text/query/MySQLMultiStatementsHandler.java | 4 +-
.../PostgreSQLBatchedStatementsExecutor.java | 2 +-
.../describe/PostgreSQLComDescribeExecutor.java | 4 +-
.../AbstractSQLRewriterParameterizedTest.java | 10 ++---
52 files changed, 256 insertions(+), 250 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java
index 7118bae71c1..0eecdeeb130 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMerger.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.sharding.merge.dal;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.engine.merger.ResultMerger;
@@ -29,6 +28,7 @@ import org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryRes
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dal.show.LogicTablesMergedResult;
import org.apache.shardingsphere.sharding.merge.dal.show.ShowCreateTableMergedResult;
import org.apache.shardingsphere.sharding.merge.dal.show.ShowIndexMergedResult;
@@ -57,7 +57,7 @@ public final class ShardingDALResultMerger implements ResultMerger {
@Override
public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
- final ShardingSphereDatabase database, final SQLSession sqlSession) throws SQLException {
+ final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
SQLStatement dalStatement = sqlStatementContext.getSqlStatement();
String schemaName = sqlStatementContext.getTablesContext().getSchemaName().orElseGet(() -> DatabaseTypeEngine.getDefaultSchemaName(sqlStatementContext.getDatabaseType(), database.getName()));
if (dalStatement instanceof MySQLShowDatabasesStatement) {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
index 5cc014023b9..affd1c85671 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMerger.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.sharding.merge.ddl;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.ddl.FetchStatementContext;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.engine.merger.ResultMerger;
@@ -28,6 +27,7 @@ import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.common.IteratorStreamMergedResult;
import org.apache.shardingsphere.sharding.merge.ddl.fetch.FetchStreamMergedResult;
import org.apache.shardingsphere.sql.parser.sql.common.util.SQLUtil;
@@ -45,7 +45,7 @@ public final class ShardingDDLResultMerger implements ResultMerger {
@Override
public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
- final ShardingSphereDatabase database, final SQLSession sqlSession) throws SQLException {
+ final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
if (!(sqlStatementContext instanceof FetchStatementContext)) {
return new TransparentMergedResult(queryResults.get(0));
}
@@ -55,7 +55,7 @@ public final class ShardingDDLResultMerger implements ResultMerger {
FetchStatementContext fetchStatementContext = (FetchStatementContext) sqlStatementContext;
Map<String, Integer> columnLabelIndexMap = getColumnLabelIndexMap(queryResults.get(0));
fetchStatementContext.getCursorStatementContext().getSelectStatementContext().setIndexes(columnLabelIndexMap);
- return new FetchStreamMergedResult(queryResults, fetchStatementContext, getSchema(sqlStatementContext, database), sqlSession);
+ return new FetchStreamMergedResult(queryResults, fetchStatementContext, getSchema(sqlStatementContext, database), connectionContext);
}
private ShardingSphereSchema getSchema(final SQLStatementContext<?> sqlStatementContext, final ShardingSphereDatabase database) {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResult.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResult.java
index b0b28c0ca85..03657b9a48f 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResult.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResult.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.dr
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.stream.JDBCStreamQueryResult;
import org.apache.shardingsphere.infra.merge.result.impl.stream.StreamMergedResult;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.infra.session.cursor.FetchGroup;
import org.apache.shardingsphere.sharding.merge.dql.orderby.OrderByValue;
import org.apache.shardingsphere.sql.parser.sql.common.constant.DirectionType;
@@ -56,16 +56,16 @@ public final class FetchStreamMergedResult extends StreamMergedResult {
private boolean isFirstNext;
public FetchStreamMergedResult(final List<QueryResult> queryResults, final FetchStatementContext fetchStatementContext,
- final ShardingSphereSchema schema, final SQLSession sqlSession) throws SQLException {
+ final ShardingSphereSchema schema, final ConnectionContext connectionContext) throws SQLException {
orderByValuesQueue = new PriorityQueue<>(queryResults.size());
directionType = fetchStatementContext.getSqlStatement().getDirection().flatMap(DirectionSegment::getDirectionType).orElse(DirectionType.NEXT);
fetchCount = fetchStatementContext.getSqlStatement().getDirection().flatMap(DirectionSegment::getCount).orElse(1L);
SelectStatementContext selectStatementContext = fetchStatementContext.getCursorStatementContext().getSelectStatementContext();
String cursorName = fetchStatementContext.getCursorName().map(optional -> optional.getIdentifier().getValue().toLowerCase())
.orElseThrow(() -> new ShardingSphereException("Can not get cursorName from fetchStatementContext."));
- List<FetchOrderByValueGroup> fetchOrderByValueGroups = getFetchOrderByValueGroups(queryResults, selectStatementContext, schema, cursorName, sqlSession);
+ List<FetchOrderByValueGroup> fetchOrderByValueGroups = getFetchOrderByValueGroups(queryResults, selectStatementContext, schema, cursorName, connectionContext);
addOrderedResultSetsToQueue(fetchOrderByValueGroups, queryResults);
- setMinResultSetRowCount(cursorName, sqlSession);
+ setMinResultSetRowCount(cursorName, connectionContext);
isFirstNext = true;
}
@@ -91,9 +91,9 @@ public final class FetchStreamMergedResult extends StreamMergedResult {
}
private List<FetchOrderByValueGroup> getFetchOrderByValueGroups(final List<QueryResult> queryResults, final SelectStatementContext selectStatementContext,
- final ShardingSphereSchema schema, final String cursorName, final SQLSession sqlSession) throws SQLException {
- long actualFetchCount = Math.max(fetchCount - sqlSession.getCursorSQLSession().getMinGroupRowCounts().getOrDefault(cursorName, 0L), 0);
- List<FetchGroup> fetchGroups = sqlSession.getCursorSQLSession().getOrderByValueGroups().computeIfAbsent(cursorName, key -> createFetchOrderByValueGroups(queryResults.size()));
+ final ShardingSphereSchema schema, final String cursorName, final ConnectionContext connectionContext) throws SQLException {
+ long actualFetchCount = Math.max(fetchCount - connectionContext.getCursorConnectionContext().getMinGroupRowCounts().getOrDefault(cursorName, 0L), 0);
+ List<FetchGroup> fetchGroups = connectionContext.getCursorConnectionContext().getOrderByValueGroups().computeIfAbsent(cursorName, key -> createFetchOrderByValueGroups(queryResults.size()));
List<FetchOrderByValueGroup> result = new ArrayList<>(fetchGroups.size());
for (FetchGroup each : fetchGroups) {
result.add((FetchOrderByValueGroup) each);
@@ -144,14 +144,14 @@ public final class FetchStreamMergedResult extends StreamMergedResult {
return queryResult;
}
- private void setMinResultSetRowCount(final String cursorName, final SQLSession sqlSession) {
+ private void setMinResultSetRowCount(final String cursorName, final ConnectionContext connectionContext) {
Collection<Long> rowCounts = new LinkedList<>();
- List<FetchGroup> fetchOrderByValueGroups = sqlSession.getCursorSQLSession().getOrderByValueGroups().getOrDefault(cursorName, new LinkedList<>());
+ List<FetchGroup> fetchOrderByValueGroups = connectionContext.getCursorConnectionContext().getOrderByValueGroups().getOrDefault(cursorName, new LinkedList<>());
for (FetchGroup each : fetchOrderByValueGroups) {
rowCounts.add(getGroupRowCount((FetchOrderByValueGroup) each));
}
long minResultSetRowCount = DirectionType.isAllDirectionType(directionType) ? 0 : Collections.min(rowCounts) - fetchCount;
- sqlSession.getCursorSQLSession().getMinGroupRowCounts().put(cursorName, Math.max(minResultSetRowCount, 0L));
+ connectionContext.getCursorConnectionContext().getMinGroupRowCounts().put(cursorName, Math.max(minResultSetRowCount, 0L));
}
private long getGroupRowCount(final FetchOrderByValueGroup fetchOrderByValueGroup) {
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
index 307ae2f4dc6..0fe9633ad33 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.infra.binder.segment.select.orderby.OrderByItem
import org.apache.shardingsphere.infra.binder.segment.select.pagination.PaginationContext;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
@@ -30,6 +29,7 @@ import org.apache.shardingsphere.infra.merge.engine.merger.ResultMerger;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.common.IteratorStreamMergedResult;
import org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByMemoryMergedResult;
import org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByStreamMergedResult;
@@ -56,7 +56,7 @@ public final class ShardingDQLResultMerger implements ResultMerger {
@Override
public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
- final ShardingSphereDatabase database, final SQLSession sqlSession) throws SQLException {
+ final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
if (1 == queryResults.size() && !isNeedAggregateRewrite(sqlStatementContext)) {
return new IteratorStreamMergedResult(queryResults);
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java
index 3816b59fa31..64621cdca9c 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/FetchDirectionTokenGenerator.java
@@ -22,9 +22,9 @@ import lombok.Setter;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.binder.statement.ddl.FetchStatementContext;
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.OptionalSQLTokenGenerator;
-import org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.SQLSessionAware;
+import org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.ConnectionContextAware;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.rewrite.token.pojo.FetchDirectionToken;
import org.apache.shardingsphere.sql.parser.sql.common.constant.DirectionType;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.cursor.CursorNameSegment;
@@ -35,9 +35,9 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.ddl.FetchStatem
* Fetch direction token generator.
*/
@Setter
-public final class FetchDirectionTokenGenerator implements OptionalSQLTokenGenerator<SQLStatementContext<?>>, SQLSessionAware {
+public final class FetchDirectionTokenGenerator implements OptionalSQLTokenGenerator<SQLStatementContext<?>>, ConnectionContextAware {
- private SQLSession sqlSession;
+ private ConnectionContext connectionContext;
@Override
public boolean isGenerateSQLToken(final SQLStatementContext<?> sqlStatementContext) {
@@ -53,11 +53,11 @@ public final class FetchDirectionTokenGenerator implements OptionalSQLTokenGener
int stopIndex = fetchStatement.getDirection().map(DirectionSegment::getStopIndex).orElseGet("FETCH"::length);
DirectionType directionType = fetchStatement.getDirection().flatMap(DirectionSegment::getDirectionType).orElse(DirectionType.NEXT);
long fetchCount = fetchStatement.getDirection().flatMap(DirectionSegment::getCount).orElse(1L);
- return new FetchDirectionToken(startIndex, stopIndex, directionType, fetchCount, cursorName.getIdentifier().getValue().toLowerCase(), sqlSession);
+ return new FetchDirectionToken(startIndex, stopIndex, directionType, fetchCount, cursorName.getIdentifier().getValue().toLowerCase(), connectionContext);
}
@Override
- public void setSQLSession(final SQLSession sqlSession) {
- this.sqlSession = sqlSession;
+ public void setConnectionContext(final ConnectionContext connectionContext) {
+ this.connectionContext = connectionContext;
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/FetchDirectionToken.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/FetchDirectionToken.java
index 66305cf7968..8a37b16313d 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/FetchDirectionToken.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/FetchDirectionToken.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sharding.rewrite.token.pojo;
import lombok.Getter;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.Substitutable;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sql.parser.sql.common.constant.DirectionType;
/**
@@ -37,20 +37,21 @@ public final class FetchDirectionToken extends SQLToken implements Substitutable
private final String cursorName;
- private final SQLSession sqlSession;
+ private final ConnectionContext connectionContext;
- public FetchDirectionToken(final int startIndex, final int stopIndex, final DirectionType directionType, final long fetchCount, final String cursorName, final SQLSession sqlSession) {
+ public FetchDirectionToken(final int startIndex, final int stopIndex, final DirectionType directionType, final long fetchCount,
+ final String cursorName, final ConnectionContext connectionContext) {
super(startIndex);
this.stopIndex = stopIndex;
this.directionType = directionType;
this.fetchCount = fetchCount;
this.cursorName = cursorName;
- this.sqlSession = sqlSession;
+ this.connectionContext = connectionContext;
}
@Override
public String toString() {
- long actualFetchCount = Math.max(fetchCount - sqlSession.getCursorSQLSession().getMinGroupRowCounts().getOrDefault(cursorName, 0L), 0);
+ long actualFetchCount = Math.max(fetchCount - connectionContext.getCursorConnectionContext().getMinGroupRowCounts().getOrDefault(cursorName, 0L), 0);
if (DirectionType.isForwardCountDirectionType(directionType)) {
return " FORWARD " + actualFetchCount + " ";
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/common/IteratorStreamMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/common/IteratorStreamMergedResultTest.java
index 83bb517046e..08662c7ccb5 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/common/IteratorStreamMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/common/IteratorStreamMergedResultTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.ProjectionsSegment;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLSelectStatement;
@@ -60,7 +60,7 @@ public final class IteratorStreamMergedResultTest {
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(ConnectionContext.class));
assertFalse(actual.next());
}
@@ -73,7 +73,7 @@ public final class IteratorStreamMergedResultTest {
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertTrue(actual.next());
assertTrue(actual.next());
@@ -87,7 +87,7 @@ public final class IteratorStreamMergedResultTest {
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -99,7 +99,7 @@ public final class IteratorStreamMergedResultTest {
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -111,7 +111,7 @@ public final class IteratorStreamMergedResultTest {
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -126,7 +126,7 @@ public final class IteratorStreamMergedResultTest {
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertTrue(actual.next());
assertTrue(actual.next());
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java
index 2cb02bde06b..a4fc66ef5d8 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dal/ShardingDALResultMergerTest.java
@@ -22,10 +22,10 @@ import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
+import org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataMergedResult;
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataMergedResult;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dal.show.LogicTablesMergedResult;
import org.apache.shardingsphere.sharding.merge.dal.show.ShowCreateTableMergedResult;
import org.apache.shardingsphere.sharding.merge.dal.show.ShowIndexMergedResult;
@@ -69,7 +69,7 @@ public final class ShardingDALResultMergerTest {
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(SQLSession.class)), instanceOf(LocalDataMergedResult.class));
+ assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(LocalDataMergedResult.class));
}
@Test
@@ -79,7 +79,7 @@ public final class ShardingDALResultMergerTest {
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(SQLSession.class)), instanceOf(LogicTablesMergedResult.class));
+ assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(LogicTablesMergedResult.class));
}
@Test
@@ -89,7 +89,7 @@ public final class ShardingDALResultMergerTest {
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(SQLSession.class)), instanceOf(ShowCreateTableMergedResult.class));
+ assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(ShowCreateTableMergedResult.class));
}
@Test
@@ -99,7 +99,7 @@ public final class ShardingDALResultMergerTest {
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, null);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(SQLSession.class)), instanceOf(TransparentMergedResult.class));
+ assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(TransparentMergedResult.class));
}
@Test
@@ -109,7 +109,7 @@ public final class ShardingDALResultMergerTest {
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, mock(ShardingRule.class));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(SQLSession.class)), instanceOf(TransparentMergedResult.class));
+ assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(TransparentMergedResult.class));
}
@Test
@@ -119,7 +119,7 @@ public final class ShardingDALResultMergerTest {
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, mock(ShardingRule.class));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(SQLSession.class)), instanceOf(ShowIndexMergedResult.class));
+ assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(ShowIndexMergedResult.class));
}
@Test
@@ -129,7 +129,7 @@ public final class ShardingDALResultMergerTest {
ShardingDALResultMerger resultMerger = new ShardingDALResultMerger(DefaultDatabase.LOGIC_NAME, mock(ShardingRule.class));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(SQLSession.class)), instanceOf(ShowTableStatusMergedResult.class));
+ assertThat(resultMerger.merge(queryResults, sqlStatementContext, database, mock(ConnectionContext.class)), instanceOf(ShowTableStatusMergedResult.class));
}
@SuppressWarnings("unchecked")
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMergerTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMergerTest.java
index faed19cbc6a..1422e349777 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMergerTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/ShardingDDLResultMergerTest.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryRe
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.session.SQLSession;
-import org.apache.shardingsphere.infra.session.cursor.CursorSQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
+import org.apache.shardingsphere.infra.session.cursor.CursorConnectionContext;
import org.apache.shardingsphere.sharding.merge.common.IteratorStreamMergedResult;
import org.apache.shardingsphere.sharding.merge.ddl.fetch.FetchStreamMergedResult;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.cursor.CursorNameSegment;
@@ -55,7 +55,7 @@ public final class ShardingDDLResultMergerTest {
@Test
public void assertBuildIteratorStreamMergedResult() throws SQLException {
ShardingDDLResultMerger merger = new ShardingDDLResultMerger();
- assertThat(merger.merge(createSingleQueryResults(), mock(FetchStatementContext.class), mock(ShardingSphereDatabase.class), mock(SQLSession.class)),
+ assertThat(merger.merge(createSingleQueryResults(), mock(FetchStatementContext.class), mock(ShardingSphereDatabase.class), mock(ConnectionContext.class)),
instanceOf(IteratorStreamMergedResult.class));
}
@@ -64,16 +64,16 @@ public final class ShardingDDLResultMergerTest {
ShardingDDLResultMerger merger = new ShardingDDLResultMerger();
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getSchema(DefaultDatabase.LOGIC_NAME)).thenReturn(mock(ShardingSphereSchema.class));
- SQLSession sqlSession = mock(SQLSession.class);
- when(sqlSession.getCursorSQLSession()).thenReturn(new CursorSQLSession());
- assertThat(merger.merge(createMultiQueryResults(), createFetchStatementContext(database), mock(ShardingSphereDatabase.class), sqlSession),
+ ConnectionContext connectionContext = mock(ConnectionContext.class);
+ when(connectionContext.getCursorConnectionContext()).thenReturn(new CursorConnectionContext());
+ assertThat(merger.merge(createMultiQueryResults(), createFetchStatementContext(database), mock(ShardingSphereDatabase.class), connectionContext),
instanceOf(FetchStreamMergedResult.class));
}
@Test
public void assertBuildTransparentMergedResult() throws SQLException {
ShardingDDLResultMerger merger = new ShardingDDLResultMerger();
- assertThat(merger.merge(createMultiQueryResults(), mock(SelectStatementContext.class), mock(ShardingSphereDatabase.class), mock(SQLSession.class)),
+ assertThat(merger.merge(createMultiQueryResults(), mock(SelectStatementContext.class), mock(ShardingSphereDatabase.class), mock(ConnectionContext.class)),
instanceOf(TransparentMergedResult.class));
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResultTest.java
index e4829428e2e..6ca332bce10 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/ddl/fetch/FetchStreamMergedResultTest.java
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.session.SQLSession;
-import org.apache.shardingsphere.infra.session.cursor.CursorSQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
+import org.apache.shardingsphere.infra.session.cursor.CursorConnectionContext;
import org.apache.shardingsphere.sharding.merge.ddl.ShardingDDLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.constant.DirectionType;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.cursor.CursorNameSegment;
@@ -60,7 +60,7 @@ public final class FetchStreamMergedResultTest {
private ShardingSphereDatabase database;
- private SQLSession sqlSession;
+ private ConnectionContext connectionContext;
@Before
public void setUp() {
@@ -71,8 +71,8 @@ public final class FetchStreamMergedResultTest {
resultMerger = new ShardingDDLResultMerger();
database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
- sqlSession = mock(SQLSession.class);
- when(sqlSession.getCursorSQLSession()).thenReturn(new CursorSQLSession());
+ connectionContext = mock(ConnectionContext.class);
+ when(connectionContext.getCursorConnectionContext()).thenReturn(new CursorConnectionContext());
}
private OpenGaussFetchStatement createFetchStatement(final boolean containsAllDirectionType) {
@@ -104,14 +104,14 @@ public final class FetchStreamMergedResultTest {
@Test
public void assertNextForResultSetsAllEmpty() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
- MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, connectionContext);
assertFalse(actual.next());
}
@Test
public void assertNextForResultSetsAllEmptyWhenConfigAllDirectionType() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
- MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, connectionContext);
assertFalse(actual.next());
}
@@ -121,7 +121,7 @@ public final class FetchStreamMergedResultTest {
for (QueryResult each : queryResults) {
when(each.next()).thenReturn(true, false);
}
- MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, connectionContext);
assertTrue(actual.next());
assertFalse(actual.next());
assertFalse(actual.next());
@@ -134,7 +134,7 @@ public final class FetchStreamMergedResultTest {
for (QueryResult each : queryResults) {
when(each.next()).thenReturn(true, false);
}
- MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, connectionContext);
assertTrue(actual.next());
assertTrue(actual.next());
assertTrue(actual.next());
@@ -145,7 +145,7 @@ public final class FetchStreamMergedResultTest {
public void assertNextForFirstResultSetsNotEmptyOnly() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
when(queryResults.get(0).next()).thenReturn(true, false);
- MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, connectionContext);
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -154,7 +154,7 @@ public final class FetchStreamMergedResultTest {
public void assertNextForFirstResultSetsNotEmptyOnlyWhenConfigAllDirectionType() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
when(queryResults.get(0).next()).thenReturn(true, false);
- MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, connectionContext);
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -163,7 +163,7 @@ public final class FetchStreamMergedResultTest {
public void assertNextForMiddleResultSetsNotEmpty() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
when(queryResults.get(1).next()).thenReturn(true, false);
- MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, connectionContext);
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -172,7 +172,7 @@ public final class FetchStreamMergedResultTest {
public void assertNextForMiddleResultSetsNotEmptyWhenConfigAllDirectionType() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
when(queryResults.get(1).next()).thenReturn(true, false);
- MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, connectionContext);
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -181,7 +181,7 @@ public final class FetchStreamMergedResultTest {
public void assertNextForLastResultSetsNotEmptyOnly() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
when(queryResults.get(2).next()).thenReturn(true, false);
- MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchCountStatementContext, database, connectionContext);
assertTrue(actual.next());
assertFalse(actual.next());
}
@@ -190,7 +190,7 @@ public final class FetchStreamMergedResultTest {
public void assertNextForLastResultSetsNotEmptyOnlyWhenConfigAllDirectionType() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
when(queryResults.get(2).next()).thenReturn(true, false);
- MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, sqlSession);
+ MergedResult actual = resultMerger.merge(queryResults, fetchAllStatementContext, database, connectionContext);
assertTrue(actual.next());
assertFalse(actual.next());
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
index a5685bdccfa..e5c1cfad0db 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMergerTest.java
@@ -29,10 +29,10 @@ import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRule
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereColumn;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
+import org.apache.shardingsphere.sharding.merge.common.IteratorStreamMergedResult;
import org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByMemoryMergedResult;
import org.apache.shardingsphere.sharding.merge.dql.groupby.GroupByStreamMergedResult;
-import org.apache.shardingsphere.sharding.merge.common.IteratorStreamMergedResult;
import org.apache.shardingsphere.sharding.merge.dql.orderby.OrderByStreamMergedResult;
import org.apache.shardingsphere.sharding.merge.dql.pagination.LimitDecoratorMergedResult;
import org.apache.shardingsphere.sharding.merge.dql.pagination.RowNumberDecoratorMergedResult;
@@ -86,7 +86,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setProjections(new ProjectionsSegment(0, 0));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class)), instanceOf(IteratorStreamMergedResult.class));
+ assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class)), instanceOf(IteratorStreamMergedResult.class));
}
@Test
@@ -99,7 +99,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralLimitValueSegment(0, 0, 1), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(Collections.singletonList(createQueryResult()), selectStatementContext, createDatabase(), mock(SQLSession.class)),
+ assertThat(resultMerger.merge(Collections.singletonList(createQueryResult()), selectStatementContext, createDatabase(), mock(ConnectionContext.class)),
instanceOf(IteratorStreamMergedResult.class));
}
@@ -113,7 +113,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralLimitValueSegment(0, 0, 1), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(LimitDecoratorMergedResult.class));
assertThat(((LimitDecoratorMergedResult) actual).getMergedResult(), instanceOf(IteratorStreamMergedResult.class));
}
@@ -144,7 +144,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setWhere(whereSegment);
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database),
null, selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(RowNumberDecoratorMergedResult.class));
assertThat(((RowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(IteratorStreamMergedResult.class));
}
@@ -159,7 +159,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralLimitValueSegment(0, 0, 1), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(TopAndRowNumberDecoratorMergedResult.class));
assertThat(((TopAndRowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(IteratorStreamMergedResult.class));
}
@@ -174,7 +174,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setProjections(new ProjectionsSegment(0, 0));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class)), instanceOf(OrderByStreamMergedResult.class));
+ assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class)), instanceOf(OrderByStreamMergedResult.class));
}
@Test
@@ -188,7 +188,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralLimitValueSegment(0, 0, 1), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(LimitDecoratorMergedResult.class));
assertThat(((LimitDecoratorMergedResult) actual).getMergedResult(), instanceOf(OrderByStreamMergedResult.class));
}
@@ -220,7 +220,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setWhere(whereSegment);
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null,
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(RowNumberDecoratorMergedResult.class));
assertThat(((RowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(OrderByStreamMergedResult.class));
}
@@ -236,7 +236,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralRowNumberValueSegment(0, 0, 1, true), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(TopAndRowNumberDecoratorMergedResult.class));
assertThat(((TopAndRowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(OrderByStreamMergedResult.class));
}
@@ -252,7 +252,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setProjections(new ProjectionsSegment(0, 0));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class)), instanceOf(GroupByStreamMergedResult.class));
+ assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class)), instanceOf(GroupByStreamMergedResult.class));
}
@Test
@@ -267,7 +267,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralLimitValueSegment(0, 0, 1), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(LimitDecoratorMergedResult.class));
assertThat(((LimitDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByStreamMergedResult.class));
}
@@ -300,7 +300,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setWhere(whereSegment);
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null,
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(RowNumberDecoratorMergedResult.class));
assertThat(((RowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByStreamMergedResult.class));
}
@@ -317,7 +317,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralRowNumberValueSegment(0, 0, 1, true), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(TopAndRowNumberDecoratorMergedResult.class));
assertThat(((TopAndRowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByStreamMergedResult.class));
}
@@ -332,7 +332,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setProjections(new ProjectionsSegment(0, 0));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class)), instanceOf(GroupByStreamMergedResult.class));
+ assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class)), instanceOf(GroupByStreamMergedResult.class));
}
@Test
@@ -346,7 +346,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralLimitValueSegment(0, 0, 1), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(LimitDecoratorMergedResult.class));
assertThat(((LimitDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByStreamMergedResult.class));
}
@@ -379,7 +379,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setWhere(whereSegment);
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null,
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(RowNumberDecoratorMergedResult.class));
assertThat(((RowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByStreamMergedResult.class));
}
@@ -397,7 +397,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralRowNumberValueSegment(0, 0, 1, true), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(TopAndRowNumberDecoratorMergedResult.class));
assertThat(((TopAndRowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByMemoryMergedResult.class));
}
@@ -413,7 +413,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setProjections(projectionsSegment);
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class)), instanceOf(GroupByMemoryMergedResult.class));
+ assertThat(resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class)), instanceOf(GroupByMemoryMergedResult.class));
}
@Test
@@ -429,7 +429,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement, DefaultDatabase.LOGIC_NAME);
DatabaseType databaseType = DatabaseTypeFactory.getInstance("MySQL");
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(databaseType);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(LimitDecoratorMergedResult.class));
assertThat(((LimitDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByMemoryMergedResult.class));
}
@@ -462,7 +462,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setWhere(whereSegment);
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null,
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(RowNumberDecoratorMergedResult.class));
assertThat(((RowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByMemoryMergedResult.class));
}
@@ -479,7 +479,7 @@ public final class ShardingDQLResultMergerTest {
selectStatement.setLimit(new LimitSegment(0, 0, new NumberLiteralRowNumberValueSegment(0, 0, 1, true), null));
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
selectStatement, DefaultDatabase.LOGIC_NAME);
- MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(createQueryResults(), selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertThat(actual, instanceOf(TopAndRowNumberDecoratorMergedResult.class));
assertThat(((TopAndRowNumberDecoratorMergedResult) actual).getMergedResult(), instanceOf(GroupByMemoryMergedResult.class));
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java
index c91fbdc3d1f..2e803ac256f 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.constant.AggregationType;
import org.apache.shardingsphere.sql.parser.sql.common.constant.OrderDirection;
@@ -70,7 +70,7 @@ public final class GroupByMemoryMergedResultTest {
public void assertNextForResultSetsAllEmpty() throws SQLException {
when(database.getName()).thenReturn("db_schema");
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(Arrays.asList(createQueryResult(), createQueryResult(), createQueryResult()), createSelectStatementContext(), database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(Arrays.asList(createQueryResult(), createQueryResult(), createQueryResult()), createSelectStatementContext(), database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class), is(0));
assertNull(actual.getValue(2, Object.class));
@@ -96,7 +96,7 @@ public final class GroupByMemoryMergedResultTest {
when(queryResult3.getValue(4, Object.class)).thenReturn(2, 2, 3);
when(queryResult3.getValue(5, Object.class)).thenReturn(20, 20, 30);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class), is(new BigDecimal(30)));
assertThat(((BigDecimal) actual.getValue(2, Object.class)).intValue(), is(10));
@@ -157,7 +157,7 @@ public final class GroupByMemoryMergedResultTest {
when(queryResult3.getValue(4, Object.class)).thenReturn(2, 2, 3);
when(queryResult3.getValue(5, Object.class)).thenReturn(20, 20, 30);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), database, mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), database, mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class), is(new BigDecimal(30)));
assertThat(((BigDecimal) actual.getValue(2, Object.class)).intValue(), is(10));
@@ -199,7 +199,7 @@ public final class GroupByMemoryMergedResultTest {
when(database.getSchemas()).thenReturn(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, schema));
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
ShardingDQLResultMerger merger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = merger.merge(Arrays.asList(queryResult, queryResult, queryResult), createSelectStatementContext(database), database, mock(SQLSession.class));
+ MergedResult actual = merger.merge(Arrays.asList(queryResult, queryResult, queryResult), createSelectStatementContext(database), database, mock(ConnectionContext.class));
assertFalse(actual.next());
}
}
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java
index 6af74981935..c1e51c38349 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByStreamMergedResultTest.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRule
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereColumn;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.constant.AggregationType;
import org.apache.shardingsphere.sql.parser.sql.common.constant.OrderDirection;
@@ -63,7 +63,8 @@ public final class GroupByStreamMergedResultTest {
@Test
public void assertNextForResultSetsAllEmpty() throws SQLException {
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult()), createSelectStatementContext(), createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult()),
+ createSelectStatementContext(), createDatabase(), mock(ConnectionContext.class));
assertFalse(actual.next());
}
@@ -87,7 +88,7 @@ public final class GroupByStreamMergedResultTest {
when(queryResult3.getValue(5, Object.class)).thenReturn(2, 2, 3);
when(queryResult3.getValue(6, Object.class)).thenReturn(20, 20, 30);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), createDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class), is(new BigDecimal(40)));
assertThat(((BigDecimal) actual.getValue(2, Object.class)).intValue(), is(10));
@@ -129,7 +130,7 @@ public final class GroupByStreamMergedResultTest {
when(queryResult3.getValue(5, Object.class)).thenReturn(1, 1, 3);
when(queryResult3.getValue(6, Object.class)).thenReturn(10, 10, 30);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(Arrays.asList(queryResult1, queryResult2, queryResult3), createSelectStatementContext(), createDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class), is(new BigDecimal(10)));
assertThat(((BigDecimal) actual.getValue(2, Object.class)).intValue(), is(10));
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java
index 42182bfd151..e44214540a8 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/orderby/OrderByStreamMergedResultTest.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRule
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereColumn;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.constant.OrderDirection;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.ProjectionsSegment;
@@ -79,7 +79,7 @@ public final class OrderByStreamMergedResultTest {
public void assertNextForResultSetsAllEmpty() throws SQLException {
List<QueryResult> queryResults = Arrays.asList(mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS), mock(QueryResult.class, RETURNS_DEEP_STUBS));
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertFalse(actual.next());
}
@@ -97,7 +97,7 @@ public final class OrderByStreamMergedResultTest {
when(queryResults.get(0).getValue(1, Object.class)).thenReturn("2");
when(queryResults.get(2).next()).thenReturn(true, true, false);
when(queryResults.get(2).getValue(1, Object.class)).thenReturn("1", "1", "3", "3");
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class).toString(), is("1"));
assertTrue(actual.next());
@@ -123,7 +123,7 @@ public final class OrderByStreamMergedResultTest {
when(queryResults.get(1).getValue(1, Object.class)).thenReturn("2", "2", "3", "3", "4", "4");
when(queryResults.get(2).next()).thenReturn(true, true, false);
when(queryResults.get(2).getValue(1, Object.class)).thenReturn("1", "1", "3", "3");
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class).toString(), is("1"));
assertTrue(actual.next());
@@ -155,7 +155,7 @@ public final class OrderByStreamMergedResultTest {
when(queryResults.get(2).next()).thenReturn(true, false);
when(queryResults.get(2).getValue(1, Object.class)).thenReturn("A");
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(1, Object.class).toString(), is("A"));
assertTrue(actual.next());
@@ -183,7 +183,7 @@ public final class OrderByStreamMergedResultTest {
when(queryResults.get(2).next()).thenReturn(true, false);
when(queryResults.get(2).getValue(2, Object.class)).thenReturn("A");
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
- MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(SQLSession.class));
+ MergedResult actual = resultMerger.merge(queryResults, selectStatementContext, createDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertThat(actual.getValue(2, Object.class).toString(), is("a"));
assertTrue(actual.next());
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/LimitDecoratorMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/LimitDecoratorMergedResultTest.java
index 2782d58d281..21a21a6d2a6 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/LimitDecoratorMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/LimitDecoratorMergedResultTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.ProjectionsSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.pagination.limit.LimitSegment;
@@ -54,7 +54,7 @@ public final class LimitDecoratorMergedResultTest {
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult(), mockQueryResult()), selectStatementContext, database,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertFalse(actual.next());
}
@@ -69,7 +69,7 @@ public final class LimitDecoratorMergedResultTest {
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult(), mockQueryResult()), selectStatementContext, database,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
for (int i = 0; i < 6; i++) {
assertTrue(actual.next());
}
@@ -87,7 +87,7 @@ public final class LimitDecoratorMergedResultTest {
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult(), mockQueryResult()), selectStatementContext, database,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertTrue(actual.next());
assertTrue(actual.next());
assertFalse(actual.next());
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/RowNumberDecoratorMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/RowNumberDecoratorMergedResultTest.java
index d7ac70159c1..f056833d6f1 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/RowNumberDecoratorMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/RowNumberDecoratorMergedResultTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.column.ColumnSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.BinaryOperationExpression;
@@ -80,7 +80,7 @@ public final class RowNumberDecoratorMergedResultTest {
Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null, selectStatement, DefaultDatabase.LOGIC_NAME);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult(), mockQueryResult()), selectStatementContext, database,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertFalse(actual.next());
}
@@ -94,7 +94,7 @@ public final class RowNumberDecoratorMergedResultTest {
Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null, selectStatement, DefaultDatabase.LOGIC_NAME);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult(), mockQueryResult()), selectStatementContext, database,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
for (int i = 0; i < 8; i++) {
assertTrue(actual.next());
}
@@ -130,7 +130,7 @@ public final class RowNumberDecoratorMergedResultTest {
Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null, selectStatement, DefaultDatabase.LOGIC_NAME);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult(), mockQueryResult()), selectStatementContext, database,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertTrue(actual.next());
assertTrue(actual.next());
assertFalse(actual.next());
@@ -164,7 +164,7 @@ public final class RowNumberDecoratorMergedResultTest {
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), null, selectStatement, DefaultDatabase.LOGIC_NAME);
when(database.getName()).thenReturn(DefaultDatabase.LOGIC_NAME);
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(), mockQueryResult(), mockQueryResult()), selectStatementContext, database,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertTrue(actual.next());
assertTrue(actual.next());
assertTrue(actual.next());
diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
index df7099751e5..39c5b768f81 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryRe
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sharding.merge.dql.ShardingDQLResultMerger;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.item.ProjectionsSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.pagination.limit.LimitSegment;
@@ -64,7 +64,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
Collections.emptyList(), sqlStatement, DefaultDatabase.LOGIC_NAME);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("SQLServer"));
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
- mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(SQLSession.class));
+ mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(ConnectionContext.class));
assertFalse(actual.next());
}
@@ -79,7 +79,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database), Collections.emptyList(),
sqlStatement, DefaultDatabase.LOGIC_NAME);
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
- mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(SQLSession.class));
+ mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(ConnectionContext.class));
for (int i = 0; i < 5; i++) {
assertTrue(actual.next());
}
@@ -97,7 +97,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
Collections.emptyList(), sqlStatement, DefaultDatabase.LOGIC_NAME);
ShardingDQLResultMerger resultMerger = new ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("SQLServer"));
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
- mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(SQLSession.class));
+ mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(ConnectionContext.class));
for (int i = 0; i < 7; i++) {
assertTrue(actual.next());
}
@@ -115,7 +115,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database),
Collections.emptyList(), sqlStatement, DefaultDatabase.LOGIC_NAME);
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
- mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(SQLSession.class));
+ mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertTrue(actual.next());
assertFalse(actual.next());
@@ -132,7 +132,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
SelectStatementContext selectStatementContext = new SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, database),
Collections.emptyList(), sqlStatement, DefaultDatabase.LOGIC_NAME);
MergedResult actual = resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
- mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(SQLSession.class));
+ mockQueryResult(), mockQueryResult()), selectStatementContext, mockShardingSphereDatabase(), mock(ConnectionContext.class));
assertTrue(actual.next());
assertTrue(actual.next());
assertTrue(actual.next());
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/SQLSession.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/ConnectionContext.java
similarity index 77%
rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/SQLSession.java
rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/ConnectionContext.java
index ada091108be..5dd3fdc3282 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/SQLSession.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/ConnectionContext.java
@@ -19,17 +19,17 @@ package org.apache.shardingsphere.infra.session;
import lombok.Getter;
import lombok.Setter;
-import org.apache.shardingsphere.infra.session.cursor.CursorSQLSession;
+import org.apache.shardingsphere.infra.session.cursor.CursorConnectionContext;
import java.util.Optional;
/**
- * SQL session.
+ * Connection context.
*/
-public final class SQLSession implements AutoCloseable {
+public final class ConnectionContext implements AutoCloseable {
@Getter
- private final CursorSQLSession cursorSQLSession = new CursorSQLSession();
+ private final CursorConnectionContext cursorConnectionContext = new CursorConnectionContext();
@Setter
private String trafficInstanceId;
@@ -46,7 +46,7 @@ public final class SQLSession implements AutoCloseable {
@Override
public void close() {
clearTrafficInstance();
- clearCursorSQLSession();
+ clearCursorConnectionContext();
}
/**
@@ -57,9 +57,9 @@ public final class SQLSession implements AutoCloseable {
}
/**
- * Clear cursor sql session.
+ * Clear cursor connection context.
*/
- public void clearCursorSQLSession() {
- cursorSQLSession.close();
+ public void clearCursorConnectionContext() {
+ cursorConnectionContext.close();
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/cursor/CursorSQLSession.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/cursor/CursorConnectionContext.java
similarity index 94%
rename from shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/cursor/CursorSQLSession.java
rename to shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/cursor/CursorConnectionContext.java
index 5e08061b4e5..aa870c21aa0 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/cursor/CursorSQLSession.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/session/cursor/CursorConnectionContext.java
@@ -24,10 +24,10 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
- * Cursor sql session.
+ * Cursor connection context.
*/
@Getter
-public final class CursorSQLSession implements AutoCloseable {
+public final class CursorConnectionContext implements AutoCloseable {
private final Map<String, List<FetchGroup>> orderByValueGroups = new ConcurrentHashMap<>();
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
index 91a5f18ce81..55b3e271c89 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessor.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry;
import org.apache.shardingsphere.infra.rewrite.engine.result.SQLRewriteResult;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.engine.SQLRouteEngine;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
/**
* Kernel processor.
@@ -43,13 +43,13 @@ public final class KernelProcessor {
* @param database database
* @param globalRuleMetaData global rule meta data
* @param props configuration properties
- * @param sqlSession sql session
+ * @param connectionContext connection context
* @return execution context
*/
public ExecutionContext generateExecutionContext(final LogicSQL logicSQL, final ShardingSphereDatabase database, final ShardingSphereRuleMetaData globalRuleMetaData,
- final ConfigurationProperties props, final SQLSession sqlSession) {
+ final ConfigurationProperties props, final ConnectionContext connectionContext) {
RouteContext routeContext = route(logicSQL, database, props);
- SQLRewriteResult rewriteResult = rewrite(logicSQL, database, globalRuleMetaData, props, routeContext, sqlSession);
+ SQLRewriteResult rewriteResult = rewrite(logicSQL, database, globalRuleMetaData, props, routeContext, connectionContext);
ExecutionContext result = createExecutionContext(logicSQL, database, routeContext, rewriteResult);
logSQL(logicSQL, props, result);
return result;
@@ -60,9 +60,9 @@ public final class KernelProcessor {
}
private SQLRewriteResult rewrite(final LogicSQL logicSQL, final ShardingSphereDatabase database, final ShardingSphereRuleMetaData globalRuleMetaData,
- final ConfigurationProperties props, final RouteContext routeContext, final SQLSession sqlSession) {
+ final ConfigurationProperties props, final RouteContext routeContext, final ConnectionContext connectionContext) {
SQLRewriteEntry sqlRewriteEntry = new SQLRewriteEntry(database, globalRuleMetaData, props);
- return sqlRewriteEntry.rewrite(logicSQL.getSql(), logicSQL.getParameters(), logicSQL.getSqlStatementContext(), routeContext, sqlSession);
+ return sqlRewriteEntry.rewrite(logicSQL.getSql(), logicSQL.getParameters(), logicSQL.getSqlStatementContext(), routeContext, connectionContext);
}
private ExecutionContext createExecutionContext(final LogicSQL logicSQL, final ShardingSphereDatabase database, final RouteContext routeContext, final SQLRewriteResult rewriteResult) {
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
index 9ec90091b32..df2b622f0b4 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/kernel/KernelProcessorTest.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.infra.executor.sql.context.ExecutionContext;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
@@ -55,7 +55,7 @@ public final class KernelProcessorTest {
mock(ShardingSphereResource.class, RETURNS_DEEP_STUBS), new ShardingSphereRuleMetaData(Collections.singleton(mock(SQLTranslatorRule.class))), Collections.emptyMap());
ConfigurationProperties props = new ConfigurationProperties(createProperties());
ExecutionContext actual = new KernelProcessor().generateExecutionContext(logicSQL, database, new ShardingSphereRuleMetaData(Collections.singleton(mock(SQLTranslatorRule.class))), props,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertThat(actual.getExecutionUnits().size(), is(1));
}
diff --git a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/main/java/org/apache/shardingsphere/infra/federation/executor/original/table/FilterableTableScanExecutor.java b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/main/java/org/apache/shardingsphere/infra/federation/executor/original/table/FilterableTableScanExecutor.java
index c3a65b1533c..c010c0c6ff6 100644
--- a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/main/java/org/apache/shardingsphere/infra/federation/executor/original/table/FilterableTableScanExecutor.java
+++ b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-executor/src/main/java/org/apache/shardingsphere/infra/federation/executor/original/table/FilterableTableScanExecutor.java
@@ -39,7 +39,6 @@ import org.apache.shardingsphere.infra.binder.LogicSQL;
import org.apache.shardingsphere.infra.binder.SQLStatementContextFactory;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.context.kernel.KernelProcessor;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
@@ -62,8 +61,8 @@ import org.apache.shardingsphere.infra.federation.executor.original.row.EmptyRow
import org.apache.shardingsphere.infra.federation.executor.original.row.FilterableRowEnumerator;
import org.apache.shardingsphere.infra.federation.optimizer.context.OptimizerContext;
import org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContextFactory;
-import org.apache.shardingsphere.infra.federation.optimizer.executor.TableScanExecutorContext;
import org.apache.shardingsphere.infra.federation.optimizer.executor.TableScanExecutor;
+import org.apache.shardingsphere.infra.federation.optimizer.executor.TableScanExecutorContext;
import org.apache.shardingsphere.infra.federation.optimizer.metadata.filter.FilterableSchema;
import org.apache.shardingsphere.infra.federation.optimizer.planner.QueryOptimizePlannerFactory;
import org.apache.shardingsphere.infra.merge.MergeEngine;
@@ -73,6 +72,7 @@ import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRule
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereTable;
import org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
@@ -119,7 +119,7 @@ public final class FilterableTableScanExecutor implements TableScanExecutor {
LogicSQL logicSQL = createLogicSQL(federationContext.getDatabases(), sqlString, databaseType);
ShardingSphereDatabase database = federationContext.getDatabases().get(databaseName.toLowerCase());
// TODO need to get session context
- ExecutionContext context = new KernelProcessor().generateExecutionContext(logicSQL, database, globalRuleMetaData, executorContext.getProps(), new SQLSession());
+ ExecutionContext context = new KernelProcessor().generateExecutionContext(logicSQL, database, globalRuleMetaData, executorContext.getProps(), new ConnectionContext());
if (federationContext.isPreview() || databaseType.getSystemSchemas().contains(schemaName)) {
federationContext.getExecutionUnits().addAll(context.getExecutionUnits());
return createEmptyEnumerable();
@@ -135,7 +135,7 @@ public final class FilterableTableScanExecutor implements TableScanExecutor {
List<QueryResult> queryResults = execute(executionGroupContext, databaseType);
ExecuteProcessEngine.finish(executionGroupContext.getExecutionID(), eventBusContext);
// TODO need to get session context
- MergeEngine mergeEngine = new MergeEngine(database, executorContext.getProps(), new SQLSession());
+ MergeEngine mergeEngine = new MergeEngine(database, executorContext.getProps(), new ConnectionContext());
MergedResult mergedResult = mergeEngine.merge(queryResults, logicSQL.getSqlStatementContext());
Collection<Statement> statements = getStatements(executionGroupContext.getInputGroups());
return createEnumerable(mergedResult, queryResults.get(0).getMetaData(), statements);
diff --git a/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java b/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java
index dafe2ec39af..866ef613767 100644
--- a/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java
+++ b/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/MergeEngine.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.infra.merge;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.engine.ResultProcessEngine;
import org.apache.shardingsphere.infra.merge.engine.ResultProcessEngineFactory;
@@ -31,6 +30,7 @@ import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import java.sql.SQLException;
import java.util.List;
@@ -50,13 +50,13 @@ public final class MergeEngine {
@SuppressWarnings("rawtypes")
private final Map<ShardingSphereRule, ResultProcessEngine> engines;
- private final SQLSession sqlSession;
+ private final ConnectionContext connectionContext;
- public MergeEngine(final ShardingSphereDatabase database, final ConfigurationProperties props, final SQLSession sqlSession) {
+ public MergeEngine(final ShardingSphereDatabase database, final ConfigurationProperties props, final ConnectionContext connectionContext) {
this.database = database;
this.props = props;
engines = ResultProcessEngineFactory.getInstances(database.getRuleMetaData().getRules());
- this.sqlSession = sqlSession;
+ this.connectionContext = connectionContext;
}
/**
@@ -79,7 +79,7 @@ public final class MergeEngine {
if (entry.getValue() instanceof ResultMergerEngine) {
ResultMerger resultMerger = ((ResultMergerEngine) entry.getValue()).newInstance(
database.getName(), database.getResource().getDatabaseType(), entry.getKey(), props, sqlStatementContext);
- return Optional.of(resultMerger.merge(queryResults, sqlStatementContext, database, sqlSession));
+ return Optional.of(resultMerger.merge(queryResults, sqlStatementContext, database, connectionContext));
}
}
return Optional.empty();
diff --git a/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java b/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java
index 1668b7c7c7c..c5a7ba74ac9 100644
--- a/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java
+++ b/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/ResultMerger.java
@@ -18,10 +18,10 @@
package org.apache.shardingsphere.infra.merge.engine.merger;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import java.sql.SQLException;
import java.util.List;
@@ -37,9 +37,9 @@ public interface ResultMerger {
* @param queryResults query results
* @param sqlStatementContext SQL statement context
* @param database database
- * @param sqlSession sql session
+ * @param connectionContext connection context
* @return merged result
* @throws SQLException SQL exception
*/
- MergedResult merge(List<QueryResult> queryResults, SQLStatementContext<?> sqlStatementContext, ShardingSphereDatabase database, SQLSession sqlSession) throws SQLException;
+ MergedResult merge(List<QueryResult> queryResults, SQLStatementContext<?> sqlStatementContext, ShardingSphereDatabase database, ConnectionContext connectionContext) throws SQLException;
}
diff --git a/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java b/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java
index 2eda8cc1fb9..dc141aebc0a 100644
--- a/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java
+++ b/shardingsphere-infra/shardingsphere-infra-merge/src/main/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMerger.java
@@ -18,12 +18,12 @@
package org.apache.shardingsphere.infra.merge.engine.merger.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.engine.merger.ResultMerger;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import java.util.List;
@@ -33,7 +33,8 @@ import java.util.List;
public final class TransparentResultMerger implements ResultMerger {
@Override
- public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext, final ShardingSphereDatabase database, final SQLSession sqlSession) {
+ public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
+ final ShardingSphereDatabase database, final ConnectionContext connectionContext) {
return new TransparentMergedResult(queryResults.get(0));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/MergeEngineTest.java b/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/MergeEngineTest.java
index 91f43f2f788..0fe0109e07b 100644
--- a/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/MergeEngineTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/MergeEngineTest.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.infra.merge;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.merge.fixture.rule.DecoratorRuleFixture;
import org.apache.shardingsphere.infra.merge.fixture.rule.MergerRuleFixture;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.test.fixture.rule.MockedRule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -55,7 +55,7 @@ public final class MergeEngineTest {
public void assertMergeWithIndependentRule() throws SQLException {
when(database.getRuleMetaData().getRules()).thenReturn(Collections.singleton(new MockedRule()));
when(queryResult.getValue(1, String.class)).thenReturn("test");
- MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(SQLSession.class)).merge(Collections.singletonList(queryResult),
+ MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(ConnectionContext.class)).merge(Collections.singletonList(queryResult),
mock(SQLStatementContext.class));
assertThat(actual.getValue(1, String.class), is("test"));
}
@@ -63,7 +63,7 @@ public final class MergeEngineTest {
@Test
public void assertMergeWithMergerRuleOnly() throws SQLException {
when(database.getRuleMetaData().getRules()).thenReturn(Collections.singleton(new MergerRuleFixture()));
- MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(SQLSession.class)).merge(Collections.singletonList(queryResult),
+ MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(ConnectionContext.class)).merge(Collections.singletonList(queryResult),
mock(SQLStatementContext.class));
assertThat(actual.getValue(1, String.class), is("merged_value"));
}
@@ -71,7 +71,7 @@ public final class MergeEngineTest {
@Test
public void assertMergeWithDecoratorRuleOnly() throws SQLException {
when(database.getRuleMetaData().getRules()).thenReturn(Collections.singleton(new DecoratorRuleFixture()));
- MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(SQLSession.class)).merge(Collections.singletonList(queryResult),
+ MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(ConnectionContext.class)).merge(Collections.singletonList(queryResult),
mock(SQLStatementContext.class));
assertThat(actual.getValue(1, String.class), is("decorated_value"));
}
@@ -79,7 +79,7 @@ public final class MergeEngineTest {
@Test
public void assertMergeWithMergerRuleAndDecoratorRuleTogether() throws SQLException {
when(database.getRuleMetaData().getRules()).thenReturn(Arrays.asList(new MergerRuleFixture(), new DecoratorRuleFixture()));
- MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(SQLSession.class)).merge(Collections.singletonList(queryResult),
+ MergedResult actual = new MergeEngine(database, new ConfigurationProperties(new Properties()), mock(ConnectionContext.class)).merge(Collections.singletonList(queryResult),
mock(SQLStatementContext.class));
assertThat(actual.getValue(1, String.class), is("decorated_merged_value"));
}
diff --git a/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMergerTest.java b/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMergerTest.java
index a42e6b8711d..e430801625d 100644
--- a/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMergerTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/engine/merger/impl/TransparentResultMergerTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.infra.merge.engine.merger.impl;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.junit.Test;
import java.sql.SQLException;
@@ -36,6 +36,7 @@ public final class TransparentResultMergerTest {
public void assertMerge() throws SQLException {
QueryResult queryResult = mock(QueryResult.class);
when(queryResult.next()).thenReturn(true);
- assertTrue(new TransparentResultMerger().merge(Collections.singletonList(queryResult), mock(SQLStatementContext.class), mock(ShardingSphereDatabase.class), mock(SQLSession.class)).next());
+ assertTrue(new TransparentResultMerger().merge(Collections.singletonList(queryResult), mock(SQLStatementContext.class),
+ mock(ShardingSphereDatabase.class), mock(ConnectionContext.class)).next());
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java b/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java
index 661f78718db..208aff451f6 100644
--- a/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java
+++ b/shardingsphere-infra/shardingsphere-infra-merge/src/test/java/org/apache/shardingsphere/infra/merge/fixture/merger/ResultMergerFixture.java
@@ -18,13 +18,13 @@
package org.apache.shardingsphere.infra.merge.fixture.merger;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.stream.JDBCStreamQueryResult;
import org.apache.shardingsphere.infra.merge.engine.merger.ResultMerger;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.merge.result.impl.transparent.TransparentMergedResult;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -37,7 +37,7 @@ public final class ResultMergerFixture implements ResultMerger {
@Override
public MergedResult merge(final List<QueryResult> queryResults, final SQLStatementContext<?> sqlStatementContext,
- final ShardingSphereDatabase database, final SQLSession sqlSession) throws SQLException {
+ final ShardingSphereDatabase database, final ConnectionContext connectionContext) throws SQLException {
ResultSet resultSet = mock(ResultSet.class);
when(resultSet.getString(1)).thenReturn("merged_value");
QueryResult queryResult = new JDBCStreamQueryResult(resultSet);
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java
index a937df64d61..d32057fac08 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntry.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.infra.rewrite.engine.RouteSQLRewriteEngine;
import org.apache.shardingsphere.infra.rewrite.engine.result.SQLRewriteResult;
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
import java.util.List;
@@ -65,12 +65,12 @@ public final class SQLRewriteEntry {
* @param parameters SQL parameters
* @param sqlStatementContext SQL statement context
* @param routeContext route context
- * @param sqlSession sql session
+ * @param connectionContext connection context
* @return route unit and SQL rewrite result map
*/
public SQLRewriteResult rewrite(final String sql, final List<Object> parameters, final SQLStatementContext<?> sqlStatementContext,
- final RouteContext routeContext, final SQLSession sqlSession) {
- SQLRewriteContext sqlRewriteContext = createSQLRewriteContext(sql, parameters, sqlStatementContext, routeContext, sqlSession);
+ final RouteContext routeContext, final ConnectionContext connectionContext) {
+ SQLRewriteContext sqlRewriteContext = createSQLRewriteContext(sql, parameters, sqlStatementContext, routeContext, connectionContext);
SQLTranslatorRule rule = globalRuleMetaData.getSingleRule(SQLTranslatorRule.class);
DatabaseType protocolType = database.getProtocolType();
DatabaseType storageType = database.getResource().getDatabaseType();
@@ -80,8 +80,8 @@ public final class SQLRewriteEntry {
}
private SQLRewriteContext createSQLRewriteContext(final String sql, final List<Object> parameters, final SQLStatementContext<?> sqlStatementContext,
- final RouteContext routeContext, final SQLSession sqlSession) {
- SQLRewriteContext result = new SQLRewriteContext(database.getName(), database.getSchemas(), sqlStatementContext, sql, parameters, sqlSession);
+ final RouteContext routeContext, final ConnectionContext connectionContext) {
+ SQLRewriteContext result = new SQLRewriteContext(database.getName(), database.getSchemas(), sqlStatementContext, sql, parameters, connectionContext);
decorate(decorators, result, routeContext);
result.generateSQLTokens();
return result;
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
index 47b66787213..c8580851c83 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContext.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.infra.rewrite.sql.token.generator.SQLTokenGener
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.SQLTokenGenerators;
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.builder.DefaultTokenGeneratorBuilder;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import java.util.Collection;
import java.util.LinkedList;
@@ -59,16 +59,16 @@ public final class SQLRewriteContext {
@Getter(AccessLevel.NONE)
private final SQLTokenGenerators sqlTokenGenerators = new SQLTokenGenerators();
- private final SQLSession sqlSession;
+ private final ConnectionContext connectionContext;
public SQLRewriteContext(final String databaseName, final Map<String, ShardingSphereSchema> schemas,
- final SQLStatementContext<?> sqlStatementContext, final String sql, final List<Object> parameters, final SQLSession sqlSession) {
+ final SQLStatementContext<?> sqlStatementContext, final String sql, final List<Object> parameters, final ConnectionContext connectionContext) {
this.databaseName = databaseName;
this.schemas = schemas;
this.sqlStatementContext = sqlStatementContext;
this.sql = sql;
this.parameters = parameters;
- this.sqlSession = sqlSession;
+ this.connectionContext = connectionContext;
addSQLTokenGenerators(new DefaultTokenGeneratorBuilder(sqlStatementContext).getSQLTokenGenerators());
parameterBuilder = ((sqlStatementContext instanceof InsertStatementContext) && (null == ((InsertStatementContext) sqlStatementContext).getInsertSelectContext()))
? new GroupedParameterBuilder(
@@ -89,6 +89,6 @@ public final class SQLRewriteContext {
* Generate SQL tokens.
*/
public void generateSQLTokens() {
- sqlTokens.addAll(sqlTokenGenerators.generateSQLTokens(databaseName, schemas, sqlStatementContext, parameters, sqlSession));
+ sqlTokens.addAll(sqlTokenGenerators.generateSQLTokens(databaseName, schemas, sqlStatementContext, parameters, connectionContext));
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java
index 363bddf207e..9de0ccce638 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGenerators.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.infra.rewrite.sql.token.generator;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.ConnectionContextAware;
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.ParametersAware;
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.PreviousSQLTokensAware;
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.SchemaMetaDataAware;
-import org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware.SQLSessionAware;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import java.util.Collection;
import java.util.LinkedHashMap;
@@ -59,15 +59,15 @@ public final class SQLTokenGenerators {
* @param sqlStatementContext SQL statement context
* @param parameters SQL parameters
* @param schemas ShardingSphere schema map
- * @param sqlSession sql session
+ * @param connectionContext connection context
* @return SQL tokens
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public List<SQLToken> generateSQLTokens(final String databaseName, final Map<String, ShardingSphereSchema> schemas,
- final SQLStatementContext sqlStatementContext, final List<Object> parameters, final SQLSession sqlSession) {
+ final SQLStatementContext sqlStatementContext, final List<Object> parameters, final ConnectionContext connectionContext) {
List<SQLToken> result = new LinkedList<>();
for (SQLTokenGenerator each : sqlTokenGenerators.values()) {
- setUpSQLTokenGenerator(each, parameters, databaseName, schemas, result, sqlSession);
+ setUpSQLTokenGenerator(each, parameters, databaseName, schemas, result, connectionContext);
if (each instanceof OptionalSQLTokenGenerator) {
SQLToken sqlToken = ((OptionalSQLTokenGenerator) each).generateSQLToken(sqlStatementContext);
if (!result.contains(sqlToken)) {
@@ -81,7 +81,7 @@ public final class SQLTokenGenerators {
}
private void setUpSQLTokenGenerator(final SQLTokenGenerator sqlTokenGenerator, final List<Object> parameters,
- final String databaseName, final Map<String, ShardingSphereSchema> schemas, final List<SQLToken> previousSQLTokens, final SQLSession sqlSession) {
+ final String databaseName, final Map<String, ShardingSphereSchema> schemas, final List<SQLToken> previousSQLTokens, final ConnectionContext connectionContext) {
if (sqlTokenGenerator instanceof ParametersAware) {
((ParametersAware) sqlTokenGenerator).setParameters(parameters);
}
@@ -92,8 +92,8 @@ public final class SQLTokenGenerators {
if (sqlTokenGenerator instanceof PreviousSQLTokensAware) {
((PreviousSQLTokensAware) sqlTokenGenerator).setPreviousSQLTokens(previousSQLTokens);
}
- if (sqlTokenGenerator instanceof SQLSessionAware) {
- ((SQLSessionAware) sqlTokenGenerator).setSQLSession(sqlSession);
+ if (sqlTokenGenerator instanceof ConnectionContextAware) {
+ ((ConnectionContextAware) sqlTokenGenerator).setConnectionContext(connectionContext);
}
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/aware/SQLSessionAware.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/aware/ConnectionContextAware.java
similarity index 76%
rename from shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/aware/SQLSessionAware.java
rename to shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/aware/ConnectionContextAware.java
index a33c3321530..1bbd902abbf 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/aware/SQLSessionAware.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/aware/ConnectionContextAware.java
@@ -17,17 +17,17 @@
package org.apache.shardingsphere.infra.rewrite.sql.token.generator.aware;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
/**
- * SQL session aware.
+ * Connection context aware.
*/
-public interface SQLSessionAware {
+public interface ConnectionContextAware {
/**
- * Set sql session.
+ * Set connection context.
*
- * @param sqlSession sql session
+ * @param connectionContext connection context
*/
- void setSQLSession(SQLSession sqlSession);
+ void setConnectionContext(ConnectionContext connectionContext);
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java
index 65d1a96b7a2..8364f6070c7 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/SQLRewriteEntryTest.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.infra.rewrite.engine.result.RouteSQLRewriteResu
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration;
import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
import org.junit.Test;
@@ -54,7 +54,7 @@ public final class SQLRewriteEntryTest {
database, new ShardingSphereRuleMetaData(Collections.singleton(new SQLTranslatorRule(new SQLTranslatorRuleConfiguration()))), new ConfigurationProperties(new Properties()));
RouteContext routeContext = new RouteContext();
GenericSQLRewriteResult sqlRewriteResult = (GenericSQLRewriteResult) sqlRewriteEntry.rewrite("SELECT ?", Collections.singletonList(1), mock(SQLStatementContext.class), routeContext,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertThat(sqlRewriteResult.getSqlRewriteUnit().getSql(), is("SELECT ?"));
assertThat(sqlRewriteResult.getSqlRewriteUnit().getParameters(), is(Collections.singletonList(1)));
}
@@ -72,7 +72,7 @@ public final class SQLRewriteEntryTest {
when(secondRouteUnit.getDataSourceMapper()).thenReturn(new RouteMapper("ds", "ds_1"));
routeContext.getRouteUnits().addAll(Arrays.asList(firstRouteUnit, secondRouteUnit));
RouteSQLRewriteResult sqlRewriteResult = (RouteSQLRewriteResult) sqlRewriteEntry.rewrite("SELECT ?", Collections.singletonList(1), mock(SQLStatementContext.class), routeContext,
- mock(SQLSession.class));
+ mock(ConnectionContext.class));
assertThat(sqlRewriteResult.getSqlRewriteUnits().size(), is(2));
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java
index 6f5ebbd3247..a894911a250 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/context/SQLRewriteContextTest.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.infra.rewrite.parameter.builder.impl.StandardPa
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.CollectionSQLTokenGenerator;
import org.apache.shardingsphere.infra.rewrite.sql.token.generator.OptionalSQLTokenGenerator;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -72,7 +72,7 @@ public final class SQLRewriteContextTest {
when(((TableAvailable) statementContext).getTablesContext().getDatabaseName().isPresent()).thenReturn(false);
when(statementContext.getInsertSelectContext()).thenReturn(null);
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(ConnectionContext.class));
assertThat(sqlRewriteContext.getParameterBuilder(), instanceOf(GroupedParameterBuilder.class));
}
@@ -81,14 +81,14 @@ public final class SQLRewriteContextTest {
SelectStatementContext statementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
when(((TableAvailable) statementContext).getTablesContext().getDatabaseName().isPresent()).thenReturn(false);
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "SELECT * FROM tbl WHERE id = ?", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "SELECT * FROM tbl WHERE id = ?", Collections.singletonList(1), mock(ConnectionContext.class));
assertThat(sqlRewriteContext.getParameterBuilder(), instanceOf(StandardParameterBuilder.class));
}
@Test
public void assertGenerateOptionalSQLToken() {
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), sqlStatementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), sqlStatementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(ConnectionContext.class));
sqlRewriteContext.addSQLTokenGenerators(Collections.singleton(optionalSQLTokenGenerator));
sqlRewriteContext.generateSQLTokens();
assertFalse(sqlRewriteContext.getSqlTokens().isEmpty());
@@ -98,7 +98,7 @@ public final class SQLRewriteContextTest {
@Test
public void assertGenerateCollectionSQLToken() {
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), sqlStatementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), sqlStatementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(ConnectionContext.class));
sqlRewriteContext.addSQLTokenGenerators(Collections.singleton(collectionSQLTokenGenerator));
sqlRewriteContext.generateSQLTokens();
assertFalse(sqlRewriteContext.getSqlTokens().isEmpty());
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngineTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngineTest.java
index 456ced4070f..5ecdd1a765d 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngineTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/GenericSQLRewriteEngineTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rewrite.context.SQLRewriteContext;
import org.apache.shardingsphere.infra.rewrite.engine.result.GenericSQLRewriteResult;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration;
import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
import org.junit.Test;
@@ -41,7 +41,7 @@ public final class GenericSQLRewriteEngineTest {
DatabaseType databaseType = mock(DatabaseType.class);
SQLTranslatorRule rule = new SQLTranslatorRule(new SQLTranslatorRuleConfiguration());
GenericSQLRewriteResult actual = new GenericSQLRewriteEngine(rule, databaseType, databaseType).rewrite(new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), "SELECT 1", Collections.emptyList(), mock(SQLSession.class)));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), "SELECT 1", Collections.emptyList(), mock(ConnectionContext.class)));
assertThat(actual.getSqlRewriteUnit().getSql(), is("SELECT 1"));
assertThat(actual.getSqlRewriteUnit().getParameters(), is(Collections.emptyList()));
}
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngineTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngineTest.java
index 05c9b5768ea..0d6de947503 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngineTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/engine/RouteSQLRewriteEngineTest.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.infra.rewrite.engine.result.RouteSQLRewriteResu
import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.sqltranslator.api.config.SQLTranslatorRuleConfiguration;
import org.apache.shardingsphere.sqltranslator.rule.SQLTranslatorRule;
import org.junit.Test;
@@ -50,7 +50,7 @@ public final class RouteSQLRewriteEngineTest {
@Test
public void assertRewriteWithStandardParameterBuilder() {
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), "SELECT ?", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), "SELECT ?", Collections.singletonList(1), mock(ConnectionContext.class));
RouteUnit routeUnit = new RouteUnit(new RouteMapper("ds", "ds_0"), Collections.singletonList(new RouteMapper("tbl", "tbl_0")));
RouteContext routeContext = new RouteContext();
routeContext.getRouteUnits().add(routeUnit);
@@ -67,7 +67,7 @@ public final class RouteSQLRewriteEngineTest {
when(statementContext.getOrderByContext().getItems()).thenReturn(Collections.emptyList());
when(statementContext.getPaginationContext().isHasPagination()).thenReturn(false);
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "SELECT ?", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "SELECT ?", Collections.singletonList(1), mock(ConnectionContext.class));
RouteContext routeContext = new RouteContext();
RouteUnit firstRouteUnit = new RouteUnit(new RouteMapper("ds", "ds_0"), Collections.singletonList(new RouteMapper("tbl", "tbl_0")));
RouteUnit secondRouteUnit = new RouteUnit(new RouteMapper("ds", "ds_0"), Collections.singletonList(new RouteMapper("tbl", "tbl_1")));
@@ -86,7 +86,7 @@ public final class RouteSQLRewriteEngineTest {
when(((TableAvailable) statementContext).getTablesContext().getDatabaseName().isPresent()).thenReturn(false);
when(statementContext.getGroupedParameters()).thenReturn(Collections.singletonList(Collections.singletonList(1)));
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(ConnectionContext.class));
RouteUnit routeUnit = new RouteUnit(new RouteMapper("ds", "ds_0"), Collections.singletonList(new RouteMapper("tbl", "tbl_0")));
RouteContext routeContext = new RouteContext();
routeContext.getRouteUnits().add(routeUnit);
@@ -103,7 +103,7 @@ public final class RouteSQLRewriteEngineTest {
when(((TableAvailable) statementContext).getTablesContext().getDatabaseName().isPresent()).thenReturn(false);
when(statementContext.getGroupedParameters()).thenReturn(Collections.singletonList(Collections.singletonList(1)));
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(ConnectionContext.class));
RouteUnit routeUnit = new RouteUnit(new RouteMapper("ds", "ds_0"), Collections.singletonList(new RouteMapper("tbl", "tbl_0")));
RouteContext routeContext = new RouteContext();
routeContext.getRouteUnits().add(routeUnit);
@@ -122,7 +122,7 @@ public final class RouteSQLRewriteEngineTest {
when(((TableAvailable) statementContext).getTablesContext().getDatabaseName().isPresent()).thenReturn(false);
when(statementContext.getGroupedParameters()).thenReturn(Collections.singletonList(Collections.singletonList(1)));
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(ConnectionContext.class));
RouteUnit routeUnit = new RouteUnit(new RouteMapper("ds", "ds_0"), Collections.singletonList(new RouteMapper("tbl", "tbl_0")));
RouteContext routeContext = new RouteContext();
routeContext.getRouteUnits().add(routeUnit);
@@ -142,7 +142,7 @@ public final class RouteSQLRewriteEngineTest {
when(statementContext.getGroupedParameters()).thenReturn(Collections.singletonList(Collections.singletonList(1)));
when(statementContext.getOnDuplicateKeyUpdateParameters()).thenReturn(Collections.emptyList());
SQLRewriteContext sqlRewriteContext = new SQLRewriteContext(DefaultDatabase.LOGIC_NAME,
- Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(SQLSession.class));
+ Collections.singletonMap("test", mock(ShardingSphereSchema.class)), statementContext, "INSERT INTO tbl VALUES (?)", Collections.singletonList(1), mock(ConnectionContext.class));
RouteUnit routeUnit = new RouteUnit(new RouteMapper("ds", "ds_0"), Collections.singletonList(new RouteMapper("tbl", "tbl_0")));
RouteContext routeContext = new RouteContext();
routeContext.getRouteUnits().add(routeUnit);
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
index 19a8edfb201..c2fe81ae7af 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.infra.rewrite.sql.token.generator;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.junit.Test;
import java.lang.reflect.Field;
@@ -75,7 +75,7 @@ public final class SQLTokenGeneratorsTest {
SQLToken expectedToken = mock(SQLToken.class);
when(optionalSQLTokenGenerator.generateSQLToken(any(SQLStatementContext.class))).thenReturn(expectedToken);
Collection<SQLToken> actualSqlTokens = sqlTokenGenerators.generateSQLTokens(
- "sharding_db", Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), Collections.emptyList(), mock(SQLSession.class));
+ "sharding_db", Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), Collections.emptyList(), mock(ConnectionContext.class));
assertThat(actualSqlTokens.size(), is(1));
assertThat(actualSqlTokens.iterator().next(), is(expectedToken));
}
@@ -89,7 +89,7 @@ public final class SQLTokenGeneratorsTest {
Collection<SQLToken> expectedSQLTokens = Arrays.asList(mock(SQLToken.class), mock(SQLToken.class));
doReturn(expectedSQLTokens).when(collectionSQLTokenGenerator).generateSQLTokens(any());
Collection<SQLToken> actualSQLTokens = sqlTokenGenerators.generateSQLTokens(
- "sharding_db", Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), Collections.emptyList(), mock(SQLSession.class));
+ "sharding_db", Collections.singletonMap("test", mock(ShardingSphereSchema.class)), mock(SQLStatementContext.class), Collections.emptyList(), mock(ConnectionContext.class));
assertThat(actualSQLTokens.size(), is(2));
assertThat(actualSQLTokens, is(expectedSQLTokens));
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
index 4cf66bb9aeb..92c7c8fc79c 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.driver.jdbc.context.JDBCContext;
import org.apache.shardingsphere.driver.jdbc.core.datasource.metadata.ShardingSphereDatabaseMetaData;
import org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement;
import org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.transaction.TransactionHolder;
@@ -60,14 +60,14 @@ public final class ShardingSphereConnection extends AbstractConnectionAdapter {
private volatile boolean closed;
@Getter
- private final SQLSession sqlSession;
+ private final ConnectionContext connectionContext;
public ShardingSphereConnection(final String databaseName, final ContextManager contextManager, final JDBCContext jdbcContext) {
this.databaseName = databaseName;
this.contextManager = contextManager;
this.jdbcContext = jdbcContext;
connectionManager = new ConnectionManager(databaseName, contextManager);
- sqlSession = new SQLSession();
+ connectionContext = new ConnectionContext();
}
/**
@@ -173,8 +173,8 @@ public final class ShardingSphereConnection extends AbstractConnectionAdapter {
} finally {
connectionManager.getConnectionTransaction().setRollbackOnly(false);
TransactionHolder.clear();
- sqlSession.clearTrafficInstance();
- sqlSession.clearCursorSQLSession();
+ connectionContext.clearTrafficInstance();
+ connectionContext.clearCursorConnectionContext();
}
}
@@ -185,8 +185,8 @@ public final class ShardingSphereConnection extends AbstractConnectionAdapter {
} finally {
connectionManager.getConnectionTransaction().setRollbackOnly(false);
TransactionHolder.clear();
- sqlSession.clearTrafficInstance();
- sqlSession.clearCursorSQLSession();
+ connectionContext.clearTrafficInstance();
+ connectionContext.clearCursorConnectionContext();
}
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index 320995a3f34..c70d92c0fc8 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -249,12 +249,12 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
}
private Optional<String> getInstanceIdAndSet(final LogicSQL logicSQL) {
- Optional<String> result = connection.getSqlSession().getTrafficInstanceId();
+ Optional<String> result = connection.getConnectionContext().getTrafficInstanceId();
if (!result.isPresent()) {
result = getInstanceId(logicSQL);
}
if (connection.isHoldTransaction() && result.isPresent()) {
- connection.getSqlSession().setTrafficInstanceId(result.get());
+ connection.getConnectionContext().setTrafficInstanceId(result.get());
}
return result;
}
@@ -489,7 +489,7 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getRuleMetaData().getRules(),
connection.getDatabaseName(), metaDataContexts.getMetaData().getDatabases(), null);
ExecutionContext result = kernelProcessor.generateExecutionContext(logicSQL, metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()),
- metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connection.getSqlSession());
+ metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connection.getConnectionContext());
findGeneratedKey(result).ifPresent(generatedKey -> generatedValues.addAll(generatedKey.getGeneratedValues()));
return result;
}
@@ -508,7 +508,8 @@ public final class ShardingSpherePreparedStatement extends AbstractPreparedState
}
private MergedResult mergeQuery(final List<QueryResult> queryResults) throws SQLException {
- MergeEngine mergeEngine = new MergeEngine(metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()), metaDataContexts.getMetaData().getProps(), connection.getSqlSession());
+ MergeEngine mergeEngine = new MergeEngine(metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()),
+ metaDataContexts.getMetaData().getProps(), connection.getConnectionContext());
return mergeEngine.merge(queryResults, executionContext.getSqlStatementContext());
}
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 2e66734f4b7..e513f29f18a 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -185,12 +185,12 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
}
private Optional<String> getInstanceIdAndSet(final LogicSQL logicSQL) {
- Optional<String> result = connection.getSqlSession().getTrafficInstanceId();
+ Optional<String> result = connection.getConnectionContext().getTrafficInstanceId();
if (!result.isPresent()) {
result = getInstanceId(logicSQL);
}
if (connection.isHoldTransaction() && result.isPresent()) {
- connection.getSqlSession().setTrafficInstanceId(result.get());
+ connection.getConnectionContext().setTrafficInstanceId(result.get());
}
return result;
}
@@ -483,7 +483,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()).getRuleMetaData().getRules(),
connection.getDatabaseName(), metaDataContexts.getMetaData().getDatabases(), null);
return kernelProcessor.generateExecutionContext(logicSQL, metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()), metaDataContexts.getMetaData().getGlobalRuleMetaData(),
- metaDataContexts.getMetaData().getProps(), connection.getSqlSession());
+ metaDataContexts.getMetaData().getProps(), connection.getConnectionContext());
}
private ExecutionGroupContext<JDBCExecutionUnit> createExecutionContext() throws SQLException {
@@ -556,7 +556,8 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
}
private MergedResult mergeQuery(final List<QueryResult> queryResults) throws SQLException {
- MergeEngine mergeEngine = new MergeEngine(metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()), metaDataContexts.getMetaData().getProps(), connection.getSqlSession());
+ MergeEngine mergeEngine = new MergeEngine(metaDataContexts.getMetaData().getDatabase(connection.getDatabaseName()),
+ metaDataContexts.getMetaData().getProps(), connection.getConnectionContext());
return mergeEngine.merge(queryResults, executionContext.getSqlStatementContext());
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
index ac02a83dd6d..35e8a2c7202 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
@@ -113,21 +113,21 @@ public abstract class DatabaseCommunicationEngine implements DatabaseBackendHand
prepareCursorStatementContext(statementContext, connectionSession, cursorName);
}
if (statementContext instanceof CloseStatementContext && ((CloseStatementContext) statementContext).getSqlStatement().isCloseAll()) {
- connectionSession.getSqlSession().clearCursorSQLSession();
+ connectionSession.getConnectionContext().clearCursorConnectionContext();
}
}
private void prepareCursorStatementContext(final CursorAvailable statementContext, final ConnectionSession connectionSession, final String cursorName) {
if (statementContext instanceof CursorStatementContext) {
- connectionSession.getSqlSession().getCursorSQLSession().getCursorDefinitions().put(cursorName, (CursorStatementContext) statementContext);
+ connectionSession.getConnectionContext().getCursorConnectionContext().getCursorDefinitions().put(cursorName, (CursorStatementContext) statementContext);
}
if (statementContext instanceof CursorDefinitionAware) {
- CursorStatementContext cursorStatementContext = (CursorStatementContext) connectionSession.getSqlSession().getCursorSQLSession().getCursorDefinitions().get(cursorName);
+ CursorStatementContext cursorStatementContext = (CursorStatementContext) connectionSession.getConnectionContext().getCursorConnectionContext().getCursorDefinitions().get(cursorName);
Preconditions.checkArgument(null != cursorStatementContext, "Cursor %s does not exist.", cursorName);
((CursorDefinitionAware) statementContext).setUpCursorDefinition(cursorStatementContext);
}
if (statementContext instanceof CloseStatementContext) {
- connectionSession.getSqlSession().getCursorSQLSession().removeCursorName(cursorName);
+ connectionSession.getConnectionContext().getCursorConnectionContext().removeCursorName(cursorName);
}
}
@@ -173,7 +173,7 @@ public abstract class DatabaseCommunicationEngine implements DatabaseBackendHand
protected MergedResult mergeQuery(final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {
MergeEngine mergeEngine = new MergeEngine(database, ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getProps(),
- getBackendConnection().getConnectionSession().getSqlSession());
+ getBackendConnection().getConnectionSession().getConnectionContext());
return mergeEngine.merge(queryResults, sqlStatementContext);
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
index 26c2a087de8..48eada840f6 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/JDBCDatabaseCommunicationEngine.java
@@ -124,7 +124,7 @@ public final class JDBCDatabaseCommunicationEngine extends DatabaseCommunication
return processExecuteFederation(resultSet, metaDataContexts);
}
ExecutionContext executionContext = getKernelProcessor().generateExecutionContext(logicSQL, getDatabase(), metaDataContexts.getMetaData().getGlobalRuleMetaData(),
- metaDataContexts.getMetaData().getProps(), backendConnection.getConnectionSession().getSqlSession());
+ metaDataContexts.getMetaData().getProps(), backendConnection.getConnectionSession().getConnectionContext());
if (executionContext.getExecutionUnits().isEmpty()) {
return new UpdateResponseHeader(executionContext.getSqlStatementContext().getSqlStatement());
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManager.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManager.java
index 49b7ae243f7..1f0dcde46d5 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManager.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManager.java
@@ -83,7 +83,7 @@ public final class JDBCBackendTransactionManager implements TransactionManager<V
connection.getConnectionSession().getTransactionStatus().setInTransaction(false);
connection.getConnectionSession().getTransactionStatus().setRollbackOnly(false);
TransactionHolder.clear();
- connection.getConnectionSession().getSqlSession().clearCursorSQLSession();
+ connection.getConnectionSession().getConnectionContext().clearCursorConnectionContext();
}
}
return null;
@@ -102,7 +102,7 @@ public final class JDBCBackendTransactionManager implements TransactionManager<V
connection.getConnectionSession().getTransactionStatus().setInTransaction(false);
connection.getConnectionSession().getTransactionStatus().setRollbackOnly(false);
TransactionHolder.clear();
- connection.getConnectionSession().getSqlSession().clearCursorSQLSession();
+ connection.getConnectionSession().getConnectionContext().clearCursorConnectionContext();
}
}
return null;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/vertx/VertxDatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/vertx/VertxDatabaseCommunicationEngine.java
index 1a103420e22..da9671c8b15 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/vertx/VertxDatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/vertx/VertxDatabaseCommunicationEngine.java
@@ -63,7 +63,7 @@ public final class VertxDatabaseCommunicationEngine extends DatabaseCommunicatio
return Future.failedFuture(new UnsupportedOperationException("Executing federated query by Vert.x is not supported yet."));
}
ExecutionContext executionContext = getKernelProcessor().generateExecutionContext(getLogicSQL(), getDatabase(), metaData.getGlobalRuleMetaData(),
- metaData.getProps(), getBackendConnection().getConnectionSession().getSqlSession());
+ metaData.getProps(), getBackendConnection().getConnectionSession().getConnectionContext());
if (executionContext.getExecutionUnits().isEmpty()) {
return Future.succeededFuture(new UpdateResponseHeader(executionContext.getSqlStatementContext().getSqlStatement()));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java
index b64b0230895..71de6d39dbf 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rul/sql/PreviewHandler.java
@@ -35,6 +35,7 @@ import org.apache.shardingsphere.infra.context.kernel.KernelProcessor;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
import org.apache.shardingsphere.infra.exception.NoDatabaseSelectedException;
+import org.apache.shardingsphere.infra.exception.RuleNotExistedException;
import org.apache.shardingsphere.infra.exception.UnknownDatabaseException;
import org.apache.shardingsphere.infra.executor.sql.context.ExecutionUnit;
import org.apache.shardingsphere.infra.executor.sql.execute.engine.ConnectionMode;
@@ -64,7 +65,6 @@ import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.JDB
import org.apache.shardingsphere.proxy.backend.communication.jdbc.statement.JDBCBackendStatement;
import org.apache.shardingsphere.proxy.backend.context.BackendExecutorContext;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import org.apache.shardingsphere.infra.exception.RuleNotExistedException;
import org.apache.shardingsphere.proxy.backend.handler.distsql.rul.SQLRULBackendHandler;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLInsertStatement;
@@ -118,7 +118,7 @@ public final class PreviewHandler extends SQLRULBackendHandler<PreviewStatement>
ConfigurationProperties props = metaDataContexts.getMetaData().getProps();
SQLFederationDeciderContext deciderContext = decide(logicSQL, props, metaDataContexts.getMetaData().getDatabase(getConnectionSession().getDatabaseName()));
Collection<ExecutionUnit> executionUnits = deciderContext.isUseSQLFederation() ? getFederationExecutionUnits(logicSQL, databaseName, metaDataContexts)
- : kernelProcessor.generateExecutionContext(logicSQL, database, globalRuleMetaData, props, getConnectionSession().getSqlSession()).getExecutionUnits();
+ : kernelProcessor.generateExecutionContext(logicSQL, database, globalRuleMetaData, props, getConnectionSession().getConnectionContext()).getExecutionUnits();
return executionUnits.stream().map(this::buildRow).collect(Collectors.toList());
}
@@ -132,7 +132,7 @@ public final class PreviewHandler extends SQLRULBackendHandler<PreviewStatement>
return;
}
String cursorName = ((CursorAvailable) sqlStatementContext).getCursorName().get().getIdentifier().getValue().toLowerCase();
- CursorStatementContext cursorStatementContext = (CursorStatementContext) getConnectionSession().getSqlSession().getCursorSQLSession().getCursorDefinitions().get(cursorName);
+ CursorStatementContext cursorStatementContext = (CursorStatementContext) getConnectionSession().getConnectionContext().getCursorConnectionContext().getCursorDefinitions().get(cursorName);
Preconditions.checkArgument(null != cursorStatementContext, "Cursor %s does not exist.", cursorName);
((CursorDefinitionAware) sqlStatementContext).setUpCursorDefinition(cursorStatementContext);
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
index 5101293c4a7..74105ab7a32 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionXAHandler.java
@@ -88,7 +88,7 @@ public final class TransactionXAHandler implements ProxyBackendHandler {
return backendHandler.execute();
} finally {
TransactionHolder.clear();
- connectionSession.getSqlSession().clearCursorSQLSession();
+ connectionSession.getConnectionContext().clearCursorConnectionContext();
}
default:
throw new SQLException("unrecognized XA statement " + tclStatement.getOp());
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java
index b62c147c67b..f9cba6704fe 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/session/ConnectionSession.java
@@ -22,11 +22,11 @@ import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
-import org.apache.shardingsphere.infra.session.SQLSession;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
import org.apache.shardingsphere.infra.executor.sql.prepare.driver.ExecutorStatementManager;
import org.apache.shardingsphere.infra.metadata.user.Grantee;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.proxy.backend.communication.BackendConnection;
import org.apache.shardingsphere.proxy.backend.communication.SQLStatementDatabaseHolder;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.JDBCBackendConnection;
@@ -72,7 +72,7 @@ public final class ConnectionSession {
private final PreparedStatementRegistry preparedStatementRegistry = new PreparedStatementRegistry();
- private final SQLSession sqlSession;
+ private final ConnectionContext connectionContext;
private final RequiredSessionVariableRecorder requiredSessionVariableRecorder = new RequiredSessionVariableRecorder();
@@ -82,7 +82,7 @@ public final class ConnectionSession {
this.attributeMap = attributeMap;
backendConnection = determineBackendConnection();
statementManager = determineStatementManager();
- sqlSession = new SQLSession();
+ connectionContext = new ConnectionContext();
}
private BackendConnection determineBackendConnection() {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManagerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManagerTest.java
index adbc3ea0df3..5c33a32e75d 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManagerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/JDBCBackendTransactionManagerTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.backend.communication.jdbc.transaction;
import lombok.SneakyThrows;
import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
-import org.apache.shardingsphere.infra.session.SQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.JDBCBackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -70,8 +70,8 @@ public final class JDBCBackendTransactionManagerTest extends ProxyContextRestore
setTransactionContexts();
when(connectionSession.getTransactionStatus()).thenReturn(transactionStatus);
when(backendConnection.getConnectionSession()).thenReturn(connectionSession);
- SQLSession sqlSession = mock(SQLSession.class);
- when(connectionSession.getSqlSession()).thenReturn(sqlSession);
+ ConnectionContext connectionContext = mock(ConnectionContext.class);
+ when(connectionSession.getConnectionContext()).thenReturn(connectionContext);
}
private void setTransactionContexts() {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
index 4a672b038cb..de107667149 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLMultiStatementsHandler.java
@@ -47,10 +47,10 @@ import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.JDB
import org.apache.shardingsphere.proxy.backend.communication.jdbc.statement.JDBCBackendStatement;
import org.apache.shardingsphere.proxy.backend.context.BackendExecutorContext;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
-import org.apache.shardingsphere.proxy.backend.handler.ProxyBackendHandler;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.UpdateStatement;
@@ -131,7 +131,7 @@ public final class MySQLMultiStatementsHandler implements ProxyBackendHandler {
metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName()).getRuleMetaData().getRules(),
connectionSession.getDatabaseName(), metaDataContexts.getMetaData().getDatabases(), null);
return kernelProcessor.generateExecutionContext(logicSQL, metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName()),
- metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connectionSession.getSqlSession());
+ metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connectionSession.getConnectionContext());
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
index f93285271df..bffd2761113 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutor.java
@@ -128,7 +128,7 @@ public final class PostgreSQLBatchedStatementsExecutor {
metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName()).getRuleMetaData().getRules(),
connectionSession.getDatabaseName(), metaDataContexts.getMetaData().getDatabases(), null);
return kernelProcessor.generateExecutionContext(logicSQL, metaDataContexts.getMetaData().getDatabase(connectionSession.getDatabaseName()),
- metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connectionSession.getSqlSession());
+ metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connectionSession.getConnectionContext());
}
/**
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
index 61f8b936c97..e951c42311a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.Pos
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.PostgreSQLNoDataPacket;
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.PostgreSQLRowDescriptionPacket;
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.extended.PostgreSQLColumnType;
-import org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.PostgreSQLPreparedStatement;
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.extended.describe.PostgreSQLComDescribePacket;
import org.apache.shardingsphere.infra.binder.LogicSQL;
import org.apache.shardingsphere.infra.binder.SQLStatementContextFactory;
@@ -44,6 +43,7 @@ import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.frontend.command.executor.CommandExecutor;
import org.apache.shardingsphere.proxy.frontend.postgresql.command.PostgreSQLConnectionContext;
+import org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.PostgreSQLPreparedStatement;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.assignment.InsertValuesSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
@@ -200,7 +200,7 @@ public final class PostgreSQLComDescribeExecutor implements CommandExecutor {
LogicSQL logicSQL = new LogicSQL(sqlStatementContext, preparedStatement.getSql(), Collections.emptyList());
ShardingSphereDatabase database = ProxyContext.getInstance().getDatabase(databaseName);
ExecutionContext executionContext = new KernelProcessor().generateExecutionContext(
- logicSQL, database, metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connectionSession.getSqlSession());
+ logicSQL, database, metaDataContexts.getMetaData().getGlobalRuleMetaData(), metaDataContexts.getMetaData().getProps(), connectionSession.getConnectionContext());
ExecutionUnit executionUnitSample = executionContext.getExecutionUnits().iterator().next();
JDBCBackendConnection backendConnection = (JDBCBackendConnection) connectionSession.getBackendConnection();
Connection connection = backendConnection.getConnections(executionUnitSample.getDataSourceName(), 1, ConnectionMode.CONNECTION_STRICTLY).iterator().next();
diff --git a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java
index 2ecc5804489..79df1d89679 100644
--- a/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java
+++ b/shardingsphere-test/shardingsphere-rewrite-test/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/engine/AbstractSQLRewriterParameterizedTest.java
@@ -47,8 +47,8 @@ import org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.engine.SQLRouteEngine;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.builder.database.DatabaseRulesBuilder;
-import org.apache.shardingsphere.infra.session.SQLSession;
-import org.apache.shardingsphere.infra.session.cursor.CursorSQLSession;
+import org.apache.shardingsphere.infra.session.ConnectionContext;
+import org.apache.shardingsphere.infra.session.cursor.CursorConnectionContext;
import org.apache.shardingsphere.infra.yaml.config.pojo.YamlRootConfiguration;
import org.apache.shardingsphere.infra.yaml.config.swapper.resource.YamlDataSourceConfigurationSwapper;
import org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
@@ -130,9 +130,9 @@ public abstract class AbstractSQLRewriterParameterizedTest {
ConfigurationProperties props = new ConfigurationProperties(rootConfig.getProps());
RouteContext routeContext = new SQLRouteEngine(databaseRules, props).route(logicSQL, database);
SQLRewriteEntry sqlRewriteEntry = new SQLRewriteEntry(database, new ShardingSphereRuleMetaData(Collections.singleton(new SQLTranslatorRule(new SQLTranslatorRuleConfiguration()))), props);
- SQLSession sqlSession = mock(SQLSession.class);
- when(sqlSession.getCursorSQLSession()).thenReturn(new CursorSQLSession());
- SQLRewriteResult sqlRewriteResult = sqlRewriteEntry.rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext, sqlSession);
+ ConnectionContext connectionContext = mock(ConnectionContext.class);
+ when(connectionContext.getCursorConnectionContext()).thenReturn(new CursorConnectionContext());
+ SQLRewriteResult sqlRewriteResult = sqlRewriteEntry.rewrite(getTestParameters().getInputSQL(), getTestParameters().getInputParameters(), sqlStatementContext, routeContext, connectionContext);
return sqlRewriteResult instanceof GenericSQLRewriteResult
? Collections.singletonList(((GenericSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnit())
: (((RouteSQLRewriteResult) sqlRewriteResult).getSqlRewriteUnits()).values();