You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2024/06/12 16:16:42 UTC

(shardingsphere) branch master updated: Refactor ShardingSphereResultSet (#31676)

This is an automated email from the ASF dual-hosted git repository.

jianglongtao 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 1609d7f606c Refactor ShardingSphereResultSet (#31676)
1609d7f606c is described below

commit 1609d7f606ccdaf86098275042ae18fc4ddec64f
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Jun 13 00:16:35 2024 +0800

    Refactor ShardingSphereResultSet (#31676)
    
    * Refactor ShardingSphereResultSetMetaData.getColumnCount()
    
    * Refactor ShardingSphereResultSet
    
    * Refactor ShardingSphereResultSet
    
    * Refactor ShardingSphereResultSet
---
 .../infra/state/instance/InstanceState.java        |  2 +-
 .../jdbc/DriverJDBCPushDownExecuteExecutor.java    |  3 +--
 .../DriverJDBCPushDownExecuteQueryExecutor.java    |  6 +-----
 .../raw/DriverRawPushDownExecuteQueryExecutor.java |  5 +----
 .../jdbc/adapter/AbstractResultSetAdapter.java     |  7 ++-----
 .../core/resultset/ShardingSphereResultSet.java    | 11 +++++-----
 .../resultset/ShardingSphereResultSetFactory.java  |  9 ++++----
 .../resultset/ShardingSphereResultSetMetaData.java | 24 ++++++++--------------
 .../resultset/ShardingSphereResultSetUtils.java    | 16 +++++++--------
 .../driver/jdbc/adapter/ResultSetAdapterTest.java  |  3 +--
 .../jdbc/adapter/ResultSetGetterAdapterTest.java   |  2 +-
 .../resultset/ShardingSphereResultSetTest.java     |  2 +-
 .../ShardingSphereResultSetUtilsTest.java          |  5 +++--
 .../UnsupportedOperationResultSetTest.java         |  2 +-
 .../UnsupportedUpdateOperationResultSetTest.java   |  2 +-
 15 files changed, 40 insertions(+), 59 deletions(-)

diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/state/instance/InstanceState.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/state/instance/InstanceState.java
index 49a7aabe210..39f8facd66e 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/state/instance/InstanceState.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/state/instance/InstanceState.java
@@ -34,7 +34,7 @@ public enum InstanceState {
      */
     public static Optional<InstanceState> get(final String state) {
         try {
-            return Optional.ofNullable(state).isPresent() ? Optional.of(InstanceState.valueOf(state)) : Optional.empty();
+            return Optional.ofNullable(state).isPresent() ? Optional.of(valueOf(state)) : Optional.empty();
         } catch (final IllegalArgumentException ignore) {
             return Optional.empty();
         }
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
index 64f93f00ad5..65542488ff8 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
@@ -148,8 +148,7 @@ public final class DriverJDBCPushDownExecuteExecutor {
             List<QueryResult> queryResults = getQueryResults(resultSets);
             MergedResult mergedResult = new MergeEngine(metaData.getGlobalRuleMetaData(), database, metaData.getProps(), connection.getDatabaseConnectionManager().getConnectionContext())
                     .merge(queryResults, sqlStatementContext);
-            boolean selectContainsEnhancedTable = sqlStatementContext instanceof SelectStatementContext && ((SelectStatementContext) sqlStatementContext).isContainsEnhancedTable();
-            return Optional.of(new ShardingSphereResultSet(resultSets, mergedResult, statement, selectContainsEnhancedTable, sqlStatementContext));
+            return Optional.of(new ShardingSphereResultSet(resultSets, mergedResult, statement, sqlStatementContext));
         }
         return Optional.empty();
     }
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java
index 91253deb40e..6337ca1cf75 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteQueryExecutor.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.driver.executor.callback.replay.StatementReplay
 import org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
 import org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSet;
 import org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSetFactory;
-import org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.connection.kernel.KernelProcessor;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroup;
@@ -100,10 +99,7 @@ public final class DriverJDBCPushDownExecuteQueryExecutor {
                                                 final Map<String, Integer> columnLabelAndIndexMap,
                                                 final StatementAddCallback addCallback, final StatementReplayCallback replayCallback) throws SQLException {
         List<QueryResult> queryResults = getQueryResults(database, queryContext, prepareEngine, addCallback, replayCallback);
-        boolean isContainsEnhancedTable = queryContext.getSqlStatementContext() instanceof SelectStatementContext
-                && ((SelectStatementContext) queryContext.getSqlStatementContext()).isContainsEnhancedTable();
-        return new ShardingSphereResultSetFactory(connectionContext, globalRuleMetaData, props, statements)
-                .newInstance(database, queryContext, queryResults, statement, columnLabelAndIndexMap, isContainsEnhancedTable);
+        return new ShardingSphereResultSetFactory(connectionContext, globalRuleMetaData, props, statements).newInstance(database, queryContext, queryResults, statement, columnLabelAndIndexMap);
     }
     
     @SuppressWarnings({"rawtypes", "unchecked"})
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/raw/DriverRawPushDownExecuteQueryExecutor.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/raw/DriverRawPushDownExecuteQueryExecutor.java
index 7f4f776f111..dea22b61385 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/raw/DriverRawPushDownExecuteQueryExecutor.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/raw/DriverRawPushDownExecuteQueryExecutor.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.driver.executor.engine.pushdown.raw;
 import org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
 import org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSet;
 import org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSetFactory;
-import org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
 import org.apache.shardingsphere.infra.connection.kernel.KernelProcessor;
@@ -85,10 +84,8 @@ public final class DriverRawPushDownExecuteQueryExecutor {
     public ShardingSphereResultSet executeQuery(final ShardingSphereDatabase database, final QueryContext queryContext, final Statement statement,
                                                 final Map<String, Integer> columnLabelAndIndexMap) throws SQLException {
         List<QueryResult> queryResults = getQueryResults(database, queryContext);
-        boolean isContainsEnhancedTable = queryContext.getSqlStatementContext() instanceof SelectStatementContext
-                && ((SelectStatementContext) queryContext.getSqlStatementContext()).isContainsEnhancedTable();
         return new ShardingSphereResultSetFactory(connectionContext, globalRuleMetaData, props, Collections.emptyList())
-                .newInstance(database, queryContext, queryResults, statement, columnLabelAndIndexMap, isContainsEnhancedTable);
+                .newInstance(database, queryContext, queryResults, statement, columnLabelAndIndexMap);
     }
     
     private List<QueryResult> getQueryResults(final ShardingSphereDatabase database, final QueryContext queryContext) throws SQLException {
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java
index 9cb0fe52432..9cfc87a518d 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractResultSetAdapter.java
@@ -45,26 +45,23 @@ public abstract class AbstractResultSetAdapter extends AbstractUnsupportedOperat
     @Getter
     private final Statement statement;
     
-    private final boolean selectContainsEnhancedTable;
-    
     private final SQLStatementContext sqlStatementContext;
     
     private final ForceExecuteTemplate<ResultSet> forceExecuteTemplate;
     
     private boolean closed;
     
-    protected AbstractResultSetAdapter(final List<ResultSet> resultSets, final Statement statement, final boolean selectContainsEnhancedTable, final SQLStatementContext sqlStatementContext) {
+    protected AbstractResultSetAdapter(final List<ResultSet> resultSets, final Statement statement, final SQLStatementContext sqlStatementContext) {
         Preconditions.checkArgument(!resultSets.isEmpty());
         this.resultSets = resultSets;
         this.statement = statement;
-        this.selectContainsEnhancedTable = selectContainsEnhancedTable;
         this.sqlStatementContext = sqlStatementContext;
         forceExecuteTemplate = new ForceExecuteTemplate<>();
     }
     
     @Override
     public final ResultSetMetaData getMetaData() throws SQLException {
-        return new ShardingSphereResultSetMetaData(resultSets.get(0).getMetaData(), getDatabase(), selectContainsEnhancedTable, sqlStatementContext);
+        return new ShardingSphereResultSetMetaData(resultSets.get(0).getMetaData(), getDatabase(), sqlStatementContext);
     }
     
     private ShardingSphereDatabase getDatabase() {
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
index cf23ec8d66a..903b39f4fba 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSet.java
@@ -66,16 +66,15 @@ public final class ShardingSphereResultSet extends AbstractResultSetAdapter {
     @Getter
     private final Map<String, Integer> columnLabelAndIndexMap;
     
-    public ShardingSphereResultSet(final List<ResultSet> resultSets, final MergedResult mergeResultSet, final Statement statement, final boolean selectContainsEnhancedTable,
-                                   final SQLStatementContext sqlStatementContext) throws SQLException {
-        super(resultSets, statement, selectContainsEnhancedTable, sqlStatementContext);
+    public ShardingSphereResultSet(final List<ResultSet> resultSets, final MergedResult mergeResultSet, final Statement statement, final SQLStatementContext sqlStatementContext) throws SQLException {
+        super(resultSets, statement, sqlStatementContext);
         this.mergeResultSet = mergeResultSet;
-        columnLabelAndIndexMap = ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(sqlStatementContext, selectContainsEnhancedTable, resultSets.get(0).getMetaData());
+        columnLabelAndIndexMap = ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(sqlStatementContext, resultSets.get(0).getMetaData());
     }
     
-    public ShardingSphereResultSet(final List<ResultSet> resultSets, final MergedResult mergeResultSet, final Statement statement, final boolean selectContainsEnhancedTable,
+    public ShardingSphereResultSet(final List<ResultSet> resultSets, final MergedResult mergeResultSet, final Statement statement,
                                    final SQLStatementContext sqlStatementContext, final Map<String, Integer> columnLabelAndIndexMap) {
-        super(resultSets, statement, selectContainsEnhancedTable, sqlStatementContext);
+        super(resultSets, statement, sqlStatementContext);
         this.mergeResultSet = mergeResultSet;
         this.columnLabelAndIndexMap = columnLabelAndIndexMap;
     }
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetFactory.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetFactory.java
index b3ded021ae3..931341166cc 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetFactory.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetFactory.java
@@ -59,17 +59,16 @@ public final class ShardingSphereResultSetFactory {
      * @param queryResults query results
      * @param statement statement
      * @param columnLabelAndIndexMap column label and index map
-     * @param isContainsEnhancedTable is contains enhanced table
      * @return created instance
      * @throws SQLException SQL exception
      */
-    public ShardingSphereResultSet newInstance(final ShardingSphereDatabase database, final QueryContext queryContext, final List<QueryResult> queryResults, final Statement statement,
-                                               final Map<String, Integer> columnLabelAndIndexMap, final boolean isContainsEnhancedTable) throws SQLException {
+    public ShardingSphereResultSet newInstance(final ShardingSphereDatabase database, final QueryContext queryContext, final List<QueryResult> queryResults,
+                                               final Statement statement, final Map<String, Integer> columnLabelAndIndexMap) throws SQLException {
         List<ResultSet> resultSets = getResultSets();
         MergedResult mergedResult = new MergeEngine(globalRuleMetaData, database, props, connectionContext).merge(queryResults, queryContext.getSqlStatementContext());
-        return new ShardingSphereResultSet(resultSets, mergedResult, statement, isContainsEnhancedTable, queryContext.getSqlStatementContext(),
+        return new ShardingSphereResultSet(resultSets, mergedResult, statement, queryContext.getSqlStatementContext(),
                 null == columnLabelAndIndexMap
-                        ? ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(queryContext.getSqlStatementContext(), isContainsEnhancedTable, resultSets.get(0).getMetaData())
+                        ? ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(queryContext.getSqlStatementContext(), resultSets.get(0).getMetaData())
                         : columnLabelAndIndexMap);
     }
     
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
index 7c824bec00c..af0c0e21f45 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
@@ -42,19 +42,17 @@ public final class ShardingSphereResultSetMetaData extends WrapperAdapter implem
     
     private final ShardingSphereDatabase database;
     
-    private final boolean selectContainsEnhancedTable;
-    
     private final SQLStatementContext sqlStatementContext;
     
     @Override
     public int getColumnCount() throws SQLException {
-        if (sqlStatementContext instanceof SelectStatementContext) {
-            if (selectContainsEnhancedTable && hasSelectExpandProjections()) {
-                return ((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().size();
-            }
-            return resultSetMetaData.getColumnCount();
-        }
-        return resultSetMetaData.getColumnCount();
+        return containsDerivedProjections() ? ((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().size() : resultSetMetaData.getColumnCount();
+    }
+    
+    private boolean containsDerivedProjections() {
+        return sqlStatementContext instanceof SelectStatementContext
+                && ((SelectStatementContext) sqlStatementContext).isContainsEnhancedTable()
+                && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
     }
     
     @Override
@@ -94,7 +92,7 @@ public final class ShardingSphereResultSetMetaData extends WrapperAdapter implem
     
     @Override
     public String getColumnLabel(final int column) throws SQLException {
-        if (selectContainsEnhancedTable && hasSelectExpandProjections()) {
+        if (containsDerivedProjections()) {
             checkColumnIndex(column);
             return ((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().get(column - 1).getColumnLabel();
         }
@@ -103,17 +101,13 @@ public final class ShardingSphereResultSetMetaData extends WrapperAdapter implem
     
     @Override
     public String getColumnName(final int column) throws SQLException {
-        if (selectContainsEnhancedTable && hasSelectExpandProjections()) {
+        if (containsDerivedProjections()) {
             checkColumnIndex(column);
             return ((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().get(column - 1).getColumnName();
         }
         return resultSetMetaData.getColumnName(column);
     }
     
-    private boolean hasSelectExpandProjections() {
-        return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
-    }
-    
     private void checkColumnIndex(final int column) throws SQLException {
         List<Projection> actualProjections = ((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections();
         if (column > actualProjections.size()) {
diff --git a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
index f7fb31dd922..e3c8df2e411 100644
--- a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
+++ b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtils.java
@@ -40,14 +40,12 @@ public final class ShardingSphereResultSetUtils {
      * Create column label and index map.
      *
      * @param sqlStatementContext SQL statement context
-     * @param selectContainsEnhancedTable select contains enhanced table
      * @param resultSetMetaData meta data of result set
      * @return column label and index map
      * @throws SQLException SQL exception
      */
-    public static Map<String, Integer> createColumnLabelAndIndexMap(final SQLStatementContext sqlStatementContext, final boolean selectContainsEnhancedTable,
-                                                                    final ResultSetMetaData resultSetMetaData) throws SQLException {
-        if (selectContainsEnhancedTable && hasSelectExpandProjections(sqlStatementContext)) {
+    public static Map<String, Integer> createColumnLabelAndIndexMap(final SQLStatementContext sqlStatementContext, final ResultSetMetaData resultSetMetaData) throws SQLException {
+        if (containsDerivedProjections(sqlStatementContext)) {
             return createColumnLabelAndIndexMapWithExpandProjections((SelectStatementContext) sqlStatementContext);
         }
         Map<String, Integer> result = new CaseInsensitiveMap<>(resultSetMetaData.getColumnCount(), 1F);
@@ -57,6 +55,12 @@ public final class ShardingSphereResultSetUtils {
         return result;
     }
     
+    private static boolean containsDerivedProjections(final SQLStatementContext sqlStatementContext) {
+        return sqlStatementContext instanceof SelectStatementContext
+                && ((SelectStatementContext) sqlStatementContext).isContainsEnhancedTable()
+                && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
+    }
+    
     private static Map<String, Integer> createColumnLabelAndIndexMapWithExpandProjections(final SelectStatementContext statementContext) {
         List<Projection> actualProjections = statementContext.getProjectionsContext().getExpandProjections();
         Map<String, Integer> result = new CaseInsensitiveMap<>(actualProjections.size(), 1F);
@@ -66,8 +70,4 @@ public final class ShardingSphereResultSetUtils {
         }
         return result;
     }
-    
-    private static boolean hasSelectExpandProjections(final SQLStatementContext sqlStatementContext) {
-        return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
-    }
 }
diff --git a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetAdapterTest.java b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetAdapterTest.java
index ead5dc51b5f..2d41bb31737 100644
--- a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetAdapterTest.java
+++ b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetAdapterTest.java
@@ -111,7 +111,6 @@ class ResultSetAdapterTest {
         when(resultSetMetaData.getColumnLabel(1)).thenReturn("col");
         when(resultSetMetaData.getColumnCount()).thenReturn(1);
         when(resultSet.getMetaData()).thenReturn(resultSetMetaData);
-        return new ShardingSphereResultSet(Collections.singletonList(resultSet), mock(MergedResult.class), mock(ShardingSphereStatement.class, RETURNS_DEEP_STUBS),
-                true, mock(SQLStatementContext.class));
+        return new ShardingSphereResultSet(Collections.singletonList(resultSet), mock(MergedResult.class), mock(ShardingSphereStatement.class, RETURNS_DEEP_STUBS), mock(SQLStatementContext.class));
     }
 }
diff --git a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetGetterAdapterTest.java b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetGetterAdapterTest.java
index 16b8ae510b2..5e23aabca16 100644
--- a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetGetterAdapterTest.java
+++ b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/ResultSetGetterAdapterTest.java
@@ -440,6 +440,6 @@ class ResultSetGetterAdapterTest {
         when(resultSetMetaData.getColumnCount()).thenReturn(1);
         when(resultSet.getMetaData()).thenReturn(resultSetMetaData);
         SQLStatementContext sqlStatementContext = mock(SQLStatementContext.class);
-        return new ShardingSphereResultSet(Collections.singletonList(resultSet), mergedResult, mock(Statement.class), true, sqlStatementContext);
+        return new ShardingSphereResultSet(Collections.singletonList(resultSet), mergedResult, mock(Statement.class), sqlStatementContext);
     }
 }
diff --git a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetTest.java b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetTest.java
index c18f9b82d62..a5f48b3452b 100644
--- a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetTest.java
+++ b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetTest.java
@@ -71,7 +71,7 @@ class ShardingSphereResultSetTest {
     @BeforeEach
     void setUp() throws SQLException {
         mergeResultSet = mock(MergedResult.class);
-        shardingSphereResultSet = new ShardingSphereResultSet(getResultSets(), mergeResultSet, getShardingSphereStatement(), true, createSQLStatementContext());
+        shardingSphereResultSet = new ShardingSphereResultSet(getResultSets(), mergeResultSet, getShardingSphereStatement(), createSQLStatementContext());
     }
     
     private SQLStatementContext createSQLStatementContext() {
diff --git a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtilsTest.java b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtilsTest.java
index 4cea63fa6f3..571b4f04ed4 100644
--- a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtilsTest.java
+++ b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetUtilsTest.java
@@ -46,13 +46,14 @@ class ShardingSphereResultSetUtilsTest {
         ResultSetMetaData resultSetMetaData = mock(ResultSetMetaData.class);
         when(resultSetMetaData.getColumnCount()).thenReturn(1);
         when(resultSetMetaData.getColumnLabel(1)).thenReturn("label");
-        Map<String, Integer> actual = ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(selectStatementContext, true, resultSetMetaData);
+        Map<String, Integer> actual = ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(selectStatementContext, resultSetMetaData);
         assertThat(actual, is(Collections.singletonMap("label", 1)));
     }
     
     @Test
     void assertCreateColumnLabelAndIndexMapWithSelectWithExpandProjections() throws SQLException {
         SelectStatementContext selectStatementContext = mock(SelectStatementContext.class);
+        when(selectStatementContext.isContainsEnhancedTable()).thenReturn(true);
         List<Projection> projections = new ArrayList<>(2);
         projections.add(new ColumnProjection(null, "col1", null, mock(DatabaseType.class)));
         projections.add(new ColumnProjection(null, "col2", null, mock(DatabaseType.class)));
@@ -60,7 +61,7 @@ class ShardingSphereResultSetUtilsTest {
         Map<String, Integer> expected = new HashMap<>(2, 1F);
         expected.put("col1", 1);
         expected.put("col2", 2);
-        Map<String, Integer> actual = ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(selectStatementContext, true, null);
+        Map<String, Integer> actual = ShardingSphereResultSetUtils.createColumnLabelAndIndexMap(selectStatementContext, null);
         assertThat(actual, is(expected));
     }
 }
diff --git a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationResultSetTest.java b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationResultSetTest.java
index 7d28bcec485..c03e8061257 100644
--- a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationResultSetTest.java
+++ b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationResultSetTest.java
@@ -40,7 +40,7 @@ class UnsupportedOperationResultSetTest {
     @BeforeEach
     void init() throws SQLException {
         shardingSphereResultSet = new ShardingSphereResultSet(
-                Collections.singletonList(mock(ResultSet.class, RETURNS_DEEP_STUBS)), mock(MergedResult.class), mock(Statement.class), true, mock(SQLStatementContext.class));
+                Collections.singletonList(mock(ResultSet.class, RETURNS_DEEP_STUBS)), mock(MergedResult.class), mock(Statement.class), mock(SQLStatementContext.class));
     }
     
     @Test
diff --git a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedUpdateOperationResultSetTest.java b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedUpdateOperationResultSetTest.java
index d8e3f02d5c9..38a7486a40a 100644
--- a/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedUpdateOperationResultSetTest.java
+++ b/jdbc/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedUpdateOperationResultSetTest.java
@@ -48,7 +48,7 @@ class UnsupportedUpdateOperationResultSetTest {
     @BeforeEach
     void init() throws SQLException {
         shardingSphereResultSet = new ShardingSphereResultSet(
-                Collections.singletonList(mock(ResultSet.class, RETURNS_DEEP_STUBS)), mock(MergedResult.class), mock(Statement.class), true, mock(SQLStatementContext.class));
+                Collections.singletonList(mock(ResultSet.class, RETURNS_DEEP_STUBS)), mock(MergedResult.class), mock(Statement.class), mock(SQLStatementContext.class));
     }
     
     @Test