You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/06/28 10:21:41 UTC
[shardingsphere] branch master updated: Unify row type reply from proxy-backend (#18656)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 4e33fb4849e Unify row type reply from proxy-backend (#18656)
4e33fb4849e is described below
commit 4e33fb4849eb27fabf5e1dc7bcf855165d3190fc
Author: 吴伟杰 <wu...@apache.org>
AuthorDate: Tue Jun 28 18:21:36 2022 +0800
Unify row type reply from proxy-backend (#18656)
* Unify row type reply from proxy-backend
* Complete tests related to QueryResponseRow
* Complete tests in proxy-frontend
---
.../backend/response/data/QueryResponseRow.java | 14 ++++++----
.../backend/text/TextProtocolBackendHandler.java | 6 ++--
.../admin/DatabaseAdminQueryBackendHandler.java | 12 ++++----
.../executor/UnicastResourceShowExecutor.java | 7 ++---
.../impl/SchemaAssignedDatabaseBackendHandler.java | 6 ++--
.../data/impl/UnicastDatabaseBackendHandler.java | 5 ++--
.../distsql/ral/QueryableRALBackendHandler.java | 4 +--
.../ral/common/HintDistSQLBackendHandler.java | 6 ++--
.../query/QueryableScalingRALBackendHandler.java | 11 ++++++--
.../text/distsql/rql/RQLBackendHandler.java | 12 ++++++--
.../text/transaction/TransactionXAHandler.java | 6 ++--
.../response/data/QueryResponseRowTest.java | 7 +++--
.../DatabaseAdminQueryBackendHandlerTest.java | 2 +-
.../SchemaAssignedDatabaseBackendHandlerTest.java | 2 +-
.../impl/UnicastDatabaseBackendHandlerTest.java | 2 +-
.../ral/advance/ParseDistSQLHandlerTest.java | 4 +--
.../queryable/CountInstanceRulesHandlerTest.java | 32 +++++++++++-----------
.../ExportDatabaseConfigurationHandlerTest.java | 4 +--
.../queryable/ShowAuthorityRuleHandlerTest.java | 3 +-
.../queryable/ShowInstanceModeHandlerTest.java | 3 +-
.../queryable/ShowSQLParserRuleHandlerTest.java | 3 +-
.../queryable/ShowTableMetadataHandlerTest.java | 5 ++--
.../queryable/ShowTrafficRulesHandlerTest.java | 3 +-
.../queryable/ShowTransactionRuleHandlerTest.java | 5 ++--
.../queryable/ShowVariableBackendHandlerTest.java | 11 ++++----
.../text/distsql/rql/RQLBackendHandlerTest.java | 2 +-
.../text/query/MySQLComQueryPacketExecutor.java | 2 +-
.../query/simple/OpenGaussComQueryExecutor.java | 2 +-
.../simple/OpenGaussComQueryExecutorTest.java | 2 ++
.../command/query/extended/JDBCPortal.java | 3 +-
.../query/simple/PostgreSQLComQueryExecutor.java | 2 +-
.../simple/PostgreSQLComQueryExecutorTest.java | 2 ++
.../query/ReactiveMySQLComQueryPacketExecutor.java | 2 +-
33 files changed, 104 insertions(+), 88 deletions(-)
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRow.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRow.java
index 98fc13f78c9..8f274ec5061 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRow.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRow.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.proxy.backend.response.data;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import java.util.Collection;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.List;
/**
* Query response row.
@@ -30,14 +30,18 @@ import java.util.stream.Collectors;
@Getter
public final class QueryResponseRow {
- private final Collection<QueryResponseCell> cells;
+ private final List<QueryResponseCell> cells;
/**
* Get row data.
*
* @return row data
*/
- public Collection<Object> getData() {
- return cells.stream().map(QueryResponseCell::getData).collect(Collectors.toList());
+ public List<Object> getData() {
+ List<Object> result = new ArrayList<>(cells.size());
+ for (QueryResponseCell cell : cells) {
+ result.add(cell.getData());
+ }
+ return result;
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandler.java
index f5122816edb..31d9042f2eb 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/TextProtocolBackendHandler.java
@@ -18,10 +18,10 @@
package org.apache.shardingsphere.proxy.backend.text;
import io.vertx.core.Future;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import java.sql.SQLException;
-import java.util.Collection;
import java.util.Collections;
/**
@@ -66,8 +66,8 @@ public interface TextProtocolBackendHandler {
* @return row data
* @throws SQLException SQL exception
*/
- default Collection<Object> getRowData() throws SQLException {
- return Collections.emptyList();
+ default QueryResponseRow getRowData() throws SQLException {
+ return new QueryResponseRow(Collections.emptyList());
}
/**
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandler.java
index 72544364f65..45f753498a0 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandler.java
@@ -23,6 +23,8 @@ 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.proxy.backend.context.ProxyContext;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseCell;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeaderBuilderEngine;
@@ -33,8 +35,6 @@ import org.apache.shardingsphere.proxy.backend.text.admin.executor.DatabaseAdmin
import java.sql.SQLException;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
import java.util.List;
/**
@@ -76,11 +76,11 @@ public final class DatabaseAdminQueryBackendHandler implements TextProtocolBacke
}
@Override
- public Collection<Object> getRowData() throws SQLException {
- Collection<Object> result = new LinkedList<>();
+ public QueryResponseRow getRowData() throws SQLException {
+ List<QueryResponseCell> result = new ArrayList<>(queryResultMetaData.getColumnCount());
for (int columnIndex = 1; columnIndex <= queryResultMetaData.getColumnCount(); columnIndex++) {
- result.add(mergedResult.getValue(columnIndex, Object.class));
+ result.add(new QueryResponseCell(queryResultMetaData.getColumnType(columnIndex), mergedResult.getValue(columnIndex, Object.class)));
}
- return result;
+ return new QueryResponseRow(result);
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UnicastResourceShowExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UnicastResourceShowExecutor.java
index eab996376c9..857d42a1c6d 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UnicastResourceShowExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/mysql/executor/UnicastResourceShowExecutor.java
@@ -35,15 +35,14 @@ import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.exception.NoDatabaseSelectedException;
import org.apache.shardingsphere.proxy.backend.exception.RuleNotExistedException;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
-import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
+import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.text.admin.executor.DatabaseAdminQueryExecutor;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import java.sql.SQLException;
import java.sql.Types;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
@@ -112,8 +111,8 @@ public final class UnicastResourceShowExecutor implements DatabaseAdminQueryExec
private QueryResult createQueryResult() throws SQLException {
List<MemoryQueryResultDataRow> rows = new LinkedList<>();
while (databaseCommunicationEngine.next()) {
- Collection<Object> data = databaseCommunicationEngine.getQueryResponseRow().getData();
- rows.add(new MemoryQueryResultDataRow(new ArrayList<>(data)));
+ List<Object> data = databaseCommunicationEngine.getQueryResponseRow().getData();
+ rows.add(new MemoryQueryResultDataRow(data));
}
return new RawMemoryQueryResult(getQueryResultMetaData(), rows);
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandler.java
index 870157a6f89..96d4159e2b2 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandler.java
@@ -33,13 +33,13 @@ import org.apache.shardingsphere.proxy.backend.communication.DatabaseCommunicati
import org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.exception.RuleNotExistedException;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.text.data.DatabaseBackendHandler;
import org.apache.shardingsphere.sharding.merge.ddl.fetch.FetchOrderByValueGroupsHolder;
import java.sql.SQLException;
-import java.util.Collection;
/**
* Database backend handler with assigned schema.
@@ -123,8 +123,8 @@ public final class SchemaAssignedDatabaseBackendHandler implements DatabaseBacke
}
@Override
- public Collection<Object> getRowData() throws SQLException {
- return databaseCommunicationEngine.getQueryResponseRow().getData();
+ public QueryResponseRow getRowData() throws SQLException {
+ return databaseCommunicationEngine.getQueryResponseRow();
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandler.java
index 57f8a925a6d..041a7a8bec2 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandler.java
@@ -26,6 +26,7 @@ import org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCo
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
import org.apache.shardingsphere.proxy.backend.exception.NoDatabaseSelectedException;
import org.apache.shardingsphere.proxy.backend.exception.RuleNotExistedException;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.text.data.DatabaseBackendHandler;
@@ -99,8 +100,8 @@ public final class UnicastDatabaseBackendHandler implements DatabaseBackendHandl
}
@Override
- public Collection<Object> getRowData() throws SQLException {
- return databaseCommunicationEngine.getQueryResponseRow().getData();
+ public QueryResponseRow getRowData() throws SQLException {
+ return databaseCommunicationEngine.getQueryResponseRow();
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/QueryableRALBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/QueryableRALBackendHandler.java
index 8502fb71312..2ede6fc394c 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/QueryableRALBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/QueryableRALBackendHandler.java
@@ -68,12 +68,12 @@ public abstract class QueryableRALBackendHandler<E extends RALStatement> extends
}
@Override
- public final Collection<Object> getRowData() throws SQLException {
+ public final QueryResponseRow getRowData() throws SQLException {
List<QueryResponseCell> cells = new ArrayList<>(queryHeaders.size());
for (int i = 0; i < queryHeaders.size(); i++) {
cells.add(new QueryResponseCell(queryHeaders.get(i).getColumnType(), mergedResult.getValue(i + 1, Object.class)));
}
- return new QueryResponseRow(cells).getData();
+ return new QueryResponseRow(cells);
}
protected abstract Collection<String> getColumnNames();
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/HintDistSQLBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/HintDistSQLBackendHandler.java
index 5cdc322730d..6d2bbbed981 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/HintDistSQLBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/HintDistSQLBackendHandler.java
@@ -22,6 +22,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.distsql.parser.statement.ral.common.HintDistSQLStatement;
import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.text.TextProtocolBackendHandler;
@@ -29,7 +30,6 @@ import org.apache.shardingsphere.proxy.backend.text.distsql.ral.common.hint.Hint
import org.apache.shardingsphere.proxy.backend.text.distsql.ral.common.hint.HintStatementExecutorFactory;
import java.sql.SQLException;
-import java.util.Collection;
/**
* Hint dist sql backend handler.
@@ -59,7 +59,7 @@ public final class HintDistSQLBackendHandler implements TextProtocolBackendHandl
}
@Override
- public Collection<Object> getRowData() throws SQLException {
- return hintStatementExecutor.getQueryResponseRow().getData();
+ public QueryResponseRow getRowData() throws SQLException {
+ return hintStatementExecutor.getQueryResponseRow();
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/scaling/query/QueryableScalingRALBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/scaling/query/QueryableScalingRALBackendHandler.java
index bf876640d3d..8c50dee8f7c 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/scaling/query/QueryableScalingRALBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/scaling/query/QueryableScalingRALBackendHandler.java
@@ -20,6 +20,8 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.ral.scaling.query;
import org.apache.shardingsphere.distsql.parser.statement.ral.RALStatement;
import org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseCell;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
@@ -59,7 +61,12 @@ public final class QueryableScalingRALBackendHandler extends DatabaseRequiredBac
}
@Override
- public Collection<Object> getRowData() {
- return resultSet.getRowData();
+ public QueryResponseRow getRowData() {
+ Collection<Object> rowData = resultSet.getRowData();
+ List<QueryResponseCell> result = new ArrayList<>(rowData.size());
+ for (Object each : rowData) {
+ result.add(new QueryResponseCell(Types.CHAR, each));
+ }
+ return new QueryResponseRow(result);
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandler.java
index 5486620a34b..e1c67419560 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandler.java
@@ -20,6 +20,8 @@ package org.apache.shardingsphere.proxy.backend.text.distsql.rql;
import org.apache.shardingsphere.distsql.parser.statement.rql.RQLStatement;
import org.apache.shardingsphere.infra.distsql.query.DistSQLResultSet;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseCell;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
@@ -27,6 +29,7 @@ import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.text.DatabaseRequiredBackendHandler;
import java.sql.Types;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
@@ -57,7 +60,12 @@ public final class RQLBackendHandler extends DatabaseRequiredBackendHandler<RQLS
}
@Override
- public Collection<Object> getRowData() {
- return resultSet.getRowData();
+ public QueryResponseRow getRowData() {
+ Collection<Object> rowData = resultSet.getRowData();
+ List<QueryResponseCell> result = new ArrayList<>(rowData.size());
+ for (Object each : rowData) {
+ result.add(new QueryResponseCell(Types.CHAR, each));
+ }
+ return new QueryResponseRow(result);
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionXAHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionXAHandler.java
index 24472b886ea..b3ebbcee38a 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionXAHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/transaction/TransactionXAHandler.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.proxy.backend.text.transaction;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.text.TextProtocolBackendHandler;
@@ -29,7 +30,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.tcl.XAStatement
import org.apache.shardingsphere.transaction.TransactionHolder;
import java.sql.SQLException;
-import java.util.Collection;
import java.util.Collections;
/**
@@ -57,8 +57,8 @@ public final class TransactionXAHandler implements TextProtocolBackendHandler {
}
@Override
- public Collection<Object> getRowData() throws SQLException {
- return this.tclStatement.getOp().equals("RECOVER") ? this.backendHandler.getRowData() : Collections.emptyList();
+ public QueryResponseRow getRowData() throws SQLException {
+ return this.tclStatement.getOp().equals("RECOVER") ? this.backendHandler.getRowData() : new QueryResponseRow(Collections.emptyList());
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRowTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRowTest.java
index c499c2acf28..8234843753b 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRowTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/response/data/QueryResponseRowTest.java
@@ -22,10 +22,10 @@ import org.junit.Test;
import java.sql.Types;
import java.util.Arrays;
import java.util.Collections;
+import java.util.List;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
public final class QueryResponseRowTest {
@@ -40,7 +40,8 @@ public final class QueryResponseRowTest {
QueryResponseCell queryResponseCell1 = new QueryResponseCell(Types.INTEGER, 1);
QueryResponseCell queryResponseCell2 = new QueryResponseCell(Types.VARCHAR, "column");
QueryResponseRow queryResponseRow = new QueryResponseRow(Arrays.asList(queryResponseCell1, queryResponseCell2));
- assertThat(queryResponseRow.getData().size(), is(2));
- assertTrue(queryResponseRow.getData().containsAll(Arrays.asList(1, "column")));
+ List<Object> actualData = queryResponseRow.getData();
+ assertThat(actualData.size(), is(2));
+ assertThat(actualData, is(Arrays.asList(1, "column")));
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandlerTest.java
index 55d6d03d595..1e93c5b79c7 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/admin/DatabaseAdminQueryBackendHandlerTest.java
@@ -94,6 +94,6 @@ public final class DatabaseAdminQueryBackendHandlerTest extends ProxyContextRest
public void assertGetRowData() throws SQLException {
handler.execute();
assertTrue(handler.next());
- assertThat(handler.getRowData().size(), is(1));
+ assertThat(handler.getRowData().getData().size(), is(1));
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java
index cb8bff153af..1882b7d29cc 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/SchemaAssignedDatabaseBackendHandlerTest.java
@@ -128,7 +128,7 @@ public final class SchemaAssignedDatabaseBackendHandlerTest extends ProxyContext
public void assertDatabaseUsingStream() throws SQLException {
schemaAssignedDatabaseBackendHandler.execute();
while (schemaAssignedDatabaseBackendHandler.next()) {
- assertThat(schemaAssignedDatabaseBackendHandler.getRowData().size(), is(1));
+ assertThat(schemaAssignedDatabaseBackendHandler.getRowData().getData().size(), is(1));
}
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java
index 7eb2f19ddd2..dc10ca4bb48 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/data/impl/UnicastDatabaseBackendHandlerTest.java
@@ -122,7 +122,7 @@ public final class UnicastDatabaseBackendHandlerTest extends ProxyContextRestore
public void assertDatabaseUsingStream() throws SQLException {
unicastDatabaseBackendHandler.execute();
while (unicastDatabaseBackendHandler.next()) {
- assertThat(unicastDatabaseBackendHandler.getRowData().size(), is(1));
+ assertThat(unicastDatabaseBackendHandler.getRowData().getData().size(), is(1));
}
}
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advance/ParseDistSQLHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advance/ParseDistSQLHandlerTest.java
index 60b5abd4296..168e603caf1 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advance/ParseDistSQLHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/advance/ParseDistSQLHandlerTest.java
@@ -74,8 +74,8 @@ public final class ParseDistSQLHandlerTest extends ProxyContextRestorer {
parseDistSQLHandler.execute();
parseDistSQLHandler.next();
SQLStatement statement = sqlParserRule.getSQLParserEngine("MySQL").parse(sql, false);
- assertThat(new LinkedList<>(parseDistSQLHandler.getRowData()).getFirst(), is("MySQLSelectStatement"));
- assertThat(new LinkedList<>(parseDistSQLHandler.getRowData()).getLast(), is(new Gson().toJson(statement)));
+ assertThat(new LinkedList<>(parseDistSQLHandler.getRowData().getData()).getFirst(), is("MySQLSelectStatement"));
+ assertThat(new LinkedList<>(parseDistSQLHandler.getRowData().getData()).getLast(), is(new Gson().toJson(statement)));
}
@Test(expected = SQLParsingException.class)
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/CountInstanceRulesHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/CountInstanceRulesHandlerTest.java
index a1d0a65f0cf..83bcf6623a9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/CountInstanceRulesHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/CountInstanceRulesHandlerTest.java
@@ -110,43 +110,43 @@ public final class CountInstanceRulesHandlerTest extends ProxyContextRestorer {
handler.init(new CountInstanceRulesStatement(), null);
handler.execute();
handler.next();
- Collection<Object> actual = handler.getRowData();
+ Collection<Object> actual = handler.getRowData().getData();
assertThat(actual.size(), is(2));
Iterator<Object> rowData = actual.iterator();
assertThat(rowData.next(), is("single_table"));
assertThat(rowData.next(), is(4));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_table"));
assertThat(rowData.next(), is(4));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_binding_table"));
assertThat(rowData.next(), is(2));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_broadcast_table"));
assertThat(rowData.next(), is(4));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_scaling"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("readwrite_splitting"));
assertThat(rowData.next(), is(2));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("db_discovery"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("encrypt"));
assertThat(rowData.next(), is(2));
@@ -161,43 +161,43 @@ public final class CountInstanceRulesHandlerTest extends ProxyContextRestorer {
when(database2.getRuleMetaData().getRules()).thenReturn(rules);
handler.execute();
handler.next();
- Collection<Object> actual = handler.getRowData();
+ Collection<Object> actual = handler.getRowData().getData();
assertThat(actual.size(), is(2));
Iterator<Object> rowData = actual.iterator();
assertThat(rowData.next(), is("single_table"));
assertThat(rowData.next(), is(4));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_table"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_binding_table"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_broadcast_table"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("sharding_scaling"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("readwrite_splitting"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("db_discovery"));
assertThat(rowData.next(), is(0));
handler.next();
- actual = handler.getRowData();
+ actual = handler.getRowData().getData();
rowData = actual.iterator();
assertThat(rowData.next(), is("encrypt"));
assertThat(rowData.next(), is(0));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ExportDatabaseConfigurationHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ExportDatabaseConfigurationHandlerTest.java
index d470ca4dce7..682fb9df593 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ExportDatabaseConfigurationHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ExportDatabaseConfigurationHandlerTest.java
@@ -151,7 +151,7 @@ public final class ExportDatabaseConfigurationHandlerTest extends ProxyContextRe
handler.init(new ExportDatabaseConfigurationStatement(new DatabaseSegment(0, 0, new IdentifierValue("normal_db")), null), mock(ConnectionSession.class));
assertQueryResponseHeader((QueryResponseHeader) handler.execute());
assertTrue(handler.next());
- assertRowData(handler.getRowData());
+ assertRowData(handler.getRowData().getData());
assertFalse(handler.next());
}
@@ -203,7 +203,7 @@ public final class ExportDatabaseConfigurationHandlerTest extends ProxyContextRe
handler.init(new ExportDatabaseConfigurationStatement(new DatabaseSegment(0, 0, new IdentifierValue("empty_db")), null), mock(ConnectionSession.class));
assertQueryResponseHeader((QueryResponseHeader) handler.execute());
assertTrue(handler.next());
- Collection<Object> rowData = handler.getRowData();
+ Collection<Object> rowData = handler.getRowData().getData();
assertThat(rowData.size(), is(1));
assertThat(rowData.iterator().next(), is("databaseName: empty_db\n"));
assertFalse(handler.next());
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowAuthorityRuleHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowAuthorityRuleHandlerTest.java
index e15dfaaca96..997cef5d4c5 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowAuthorityRuleHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowAuthorityRuleHandlerTest.java
@@ -29,7 +29,6 @@ import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
import org.junit.Test;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
@@ -51,7 +50,7 @@ public final class ShowAuthorityRuleHandlerTest extends ProxyContextRestorer {
handler.init(new ShowAuthorityRuleStatement(), null);
handler.execute();
handler.next();
- List<Object> data = new ArrayList<>(handler.getRowData());
+ List<Object> data = handler.getRowData().getData();
assertThat(data.size(), is(3));
assertThat(data.get(0), is("root@localhost"));
assertThat(data.get(1), is("ALL_PERMITTED"));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowInstanceModeHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowInstanceModeHandlerTest.java
index bcafa47747f..4e5770a2213 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowInstanceModeHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowInstanceModeHandlerTest.java
@@ -27,7 +27,6 @@ import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
import org.junit.Test;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@@ -49,7 +48,7 @@ public final class ShowInstanceModeHandlerTest extends ProxyContextRestorer {
ProxyContext.init(contextManager);
handler.execute();
handler.next();
- List<Object> data = new ArrayList<>(handler.getRowData());
+ List<Object> data = handler.getRowData().getData();
assertThat(data.size(), is(5));
assertThat(data.get(0), is("127.0.0.1@3309"));
assertThat(data.get(1), is("Cluster"));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowSQLParserRuleHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowSQLParserRuleHandlerTest.java
index fe762608ae0..e1171a31d56 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowSQLParserRuleHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowSQLParserRuleHandlerTest.java
@@ -28,7 +28,6 @@ import org.apache.shardingsphere.sql.parser.api.CacheOption;
import org.junit.Test;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -50,7 +49,7 @@ public final class ShowSQLParserRuleHandlerTest extends ProxyContextRestorer {
handler.init(new ShowSQLParserRuleStatement(), null);
handler.execute();
handler.next();
- List<Object> data = new ArrayList<>(handler.getRowData());
+ List<Object> data = handler.getRowData().getData();
assertThat(data.size(), is(3));
assertThat(data.get(0), is(Boolean.TRUE.toString()));
String parseTreeCache = String.valueOf(data.get(1));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTableMetadataHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTableMetadataHandlerTest.java
index 0d4b94a4e8e..629364d0b66 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTableMetadataHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTableMetadataHandlerTest.java
@@ -32,7 +32,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.Identifi
import org.junit.Test;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -60,14 +59,14 @@ public final class ShowTableMetadataHandlerTest extends ProxyContextRestorer {
handler.init(createSqlStatement(), connectionSession);
handler.execute();
handler.next();
- List<Object> data = new ArrayList<>(handler.getRowData());
+ List<Object> data = handler.getRowData().getData();
assertThat(data.size(), is(4));
assertThat(data.get(0), is("db_name"));
assertThat(data.get(1), is("t_order"));
assertThat(data.get(2), is("COLUMN"));
assertThat(data.get(3), is("order_id"));
handler.next();
- data = new ArrayList<>(handler.getRowData());
+ data = handler.getRowData().getData();
assertThat(data.size(), is(4));
assertThat(data.get(0), is("db_name"));
assertThat(data.get(1), is("t_order"));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTrafficRulesHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTrafficRulesHandlerTest.java
index 2ae899baa05..62780d17ee6 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTrafficRulesHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTrafficRulesHandlerTest.java
@@ -29,7 +29,6 @@ import org.apache.shardingsphere.traffic.rule.TrafficRule;
import org.junit.Test;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -56,7 +55,7 @@ public class ShowTrafficRulesHandlerTest extends ProxyContextRestorer {
ProxyContext.init(contextManager);
handler.execute();
handler.next();
- List<Object> data = new ArrayList<>(handler.getRowData());
+ List<Object> data = handler.getRowData().getData();
assertThat(data.size(), is(6));
assertThat(data.get(0), is("rule_name_1"));
assertThat(data.get(1), is("olap,order_by"));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTransactionRuleHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTransactionRuleHandlerTest.java
index 5fc34630191..576cdf67135 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTransactionRuleHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowTransactionRuleHandlerTest.java
@@ -27,7 +27,6 @@ import org.apache.shardingsphere.transaction.rule.TransactionRule;
import org.junit.Test;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
@@ -51,7 +50,7 @@ public final class ShowTransactionRuleHandlerTest extends ProxyContextRestorer {
ProxyContext.init(contextManager);
handler.execute();
handler.next();
- List<Object> data = new ArrayList<>(handler.getRowData());
+ List<Object> data = handler.getRowData().getData();
assertThat(data.size(), is(3));
assertThat(data.get(0), is("XA"));
assertThat(data.get(1), is("Atomikos"));
@@ -70,7 +69,7 @@ public final class ShowTransactionRuleHandlerTest extends ProxyContextRestorer {
ProxyContext.init(contextManager);
handler.execute();
handler.next();
- List<Object> data = new ArrayList<>(handler.getRowData());
+ List<Object> data = handler.getRowData().getData();
assertThat(data.size(), is(3));
assertThat(data.get(0), is("LOCAL"));
assertThat(data.get(1), is(""));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowVariableBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowVariableBackendHandlerTest.java
index 4e6cc2bb93b..95c00ca8844 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowVariableBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/queryable/ShowVariableBackendHandlerTest.java
@@ -37,7 +37,6 @@ import org.junit.Before;
import org.junit.Test;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@@ -68,7 +67,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
assertThat(actual, instanceOf(QueryResponseHeader.class));
assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
backendHandler.next();
- List<Object> rowData = new ArrayList<>(backendHandler.getRowData());
+ List<Object> rowData = backendHandler.getRowData().getData();
assertThat(rowData.get(0), is("transaction_type"));
assertThat(rowData.get(1), is("LOCAL"));
}
@@ -82,7 +81,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
assertThat(actual, instanceOf(QueryResponseHeader.class));
assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
backendHandler.next();
- List<Object> rowData = new ArrayList<>(backendHandler.getRowData());
+ List<Object> rowData = backendHandler.getRowData().getData();
assertThat(rowData.get(0), is("cached_connections"));
assertThat(rowData.get(1), is("0"));
}
@@ -105,7 +104,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
assertThat(actual, instanceOf(QueryResponseHeader.class));
assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
backendHandler.next();
- List<Object> rowData = new ArrayList<>(backendHandler.getRowData());
+ List<Object> rowData = backendHandler.getRowData().getData();
assertThat(rowData.get(0), is("agent_plugins_enabled"));
assertThat(rowData.get(1), is(Boolean.TRUE.toString()));
}
@@ -126,7 +125,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
assertThat(actual, instanceOf(QueryResponseHeader.class));
assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
backendHandler.next();
- List<Object> rowData = new ArrayList<>(backendHandler.getRowData());
+ List<Object> rowData = backendHandler.getRowData().getData();
assertThat(rowData.get(0), is("sql_show"));
assertThat(rowData.get(1), is(Boolean.TRUE.toString()));
}
@@ -145,7 +144,7 @@ public final class ShowVariableBackendHandlerTest extends ProxyContextRestorer {
assertThat(actual, instanceOf(QueryResponseHeader.class));
assertThat(((QueryResponseHeader) actual).getQueryHeaders().size(), is(2));
backendHandler.next();
- List<Object> rowData = new ArrayList<>(backendHandler.getRowData());
+ List<Object> rowData = backendHandler.getRowData().getData();
assertThat(rowData.get(0), is("sql_show"));
assertThat(rowData.get(1), is(Boolean.FALSE.toString()));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandlerTest.java
index 59017116b31..7c242f028a1 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/RQLBackendHandlerTest.java
@@ -91,7 +91,7 @@ public final class RQLBackendHandlerTest extends ProxyContextRestorer {
when(resultSet.getRowData()).thenReturn(Arrays.asList("foo_value", "bar_value"));
RQLBackendHandler handler = new RQLBackendHandler(mock(RQLStatement.class), mock(ConnectionSession.class), resultSet);
handler.execute("test", mock(RQLStatement.class));
- Collection<Object> rowData = handler.getRowData();
+ Collection<Object> rowData = handler.getRowData().getData();
assertThat(rowData.size(), is(2));
assertTrue(rowData.contains("foo_value"));
assertTrue(rowData.contains("bar_value"));
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/MySQLComQueryPacketExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java
index 23507c3a6bc..c89828355bb 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java
@@ -130,7 +130,7 @@ public final class MySQLComQueryPacketExecutor implements QueryCommandExecutor {
@Override
public MySQLPacket getQueryRowPacket() throws SQLException {
- return new MySQLTextResultSetRowPacket(++currentSequenceId, textProtocolBackendHandler.getRowData());
+ return new MySQLTextResultSetRowPacket(++currentSequenceId, textProtocolBackendHandler.getRowData().getData());
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutor.java
index 0ca24970e08..5cf6104eae7 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutor.java
@@ -124,7 +124,7 @@ public final class OpenGaussComQueryExecutor implements QueryCommandExecutor {
@Override
public PostgreSQLPacket getQueryRowPacket() throws SQLException {
- return new PostgreSQLDataRowPacket(textProtocolBackendHandler.getRowData());
+ return new PostgreSQLDataRowPacket(textProtocolBackendHandler.getRowData().getData());
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java
index 67510b8fad1..b8fef81cd69 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.Pos
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.PostgreSQLRowDescriptionPacket;
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.simple.PostgreSQLComQueryPacket;
import org.apache.shardingsphere.db.protocol.postgresql.packet.generic.PostgreSQLCommandCompletePacket;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
@@ -120,6 +121,7 @@ public final class OpenGaussComQueryExecutorTest {
@Test
public void assertGetQueryRowPacket() throws SQLException {
+ when(textProtocolBackendHandler.getRowData()).thenReturn(new QueryResponseRow(Collections.emptyList()));
PostgreSQLPacket actual = queryExecutor.getQueryRowPacket();
assertThat(actual, is(instanceOf(PostgreSQLDataRowPacket.class)));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/JDBCPortal.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/JDBCPortal.java
index 6aa508f1a5b..c7e0456022d 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/JDBCPortal.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/JDBCPortal.java
@@ -193,8 +193,7 @@ public final class JDBCPortal implements Portal<Void> {
}
private PostgreSQLPacket nextPacket() throws SQLException {
- return null != databaseCommunicationEngine ? new PostgreSQLDataRowPacket(getData(databaseCommunicationEngine.getQueryResponseRow()))
- : new PostgreSQLDataRowPacket(textProtocolBackendHandler.getRowData());
+ return new PostgreSQLDataRowPacket(getData(null != databaseCommunicationEngine ? databaseCommunicationEngine.getQueryResponseRow() : textProtocolBackendHandler.getRowData()));
}
private List<Object> getData(final QueryResponseRow queryResponseRow) {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutor.java
index 7b2879266fc..eb71c555c0f 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutor.java
@@ -124,7 +124,7 @@ public final class PostgreSQLComQueryExecutor implements QueryCommandExecutor {
@Override
public PostgreSQLPacket getQueryRowPacket() throws SQLException {
- return new PostgreSQLDataRowPacket(textProtocolBackendHandler.getRowData());
+ return new PostgreSQLDataRowPacket(textProtocolBackendHandler.getRowData().getData());
}
@Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java
index db14b46f13a..cdc68c1c895 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.Pos
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.PostgreSQLRowDescriptionPacket;
import org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.simple.PostgreSQLComQueryPacket;
import org.apache.shardingsphere.db.protocol.postgresql.packet.generic.PostgreSQLCommandCompletePacket;
+import org.apache.shardingsphere.proxy.backend.response.data.QueryResponseRow;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryResponseHeader;
import org.apache.shardingsphere.proxy.backend.response.header.query.QueryHeader;
import org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
@@ -120,6 +121,7 @@ public final class PostgreSQLComQueryExecutorTest {
@Test
public void assertGetQueryRowPacket() throws SQLException {
+ when(textProtocolBackendHandler.getRowData()).thenReturn(new QueryResponseRow(Collections.emptyList()));
PostgreSQLPacket actual = queryExecutor.getQueryRowPacket();
assertThat(actual, is(instanceOf(PostgreSQLDataRowPacket.class)));
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-reactive-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/reactive/mysql/command/query/text/query/ReactiveMySQLComQueryPacketExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-reactive-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/reactive/mysql/command/query/text/query/ReactiveMySQLComQueryPacketExecutor.java
index 2d401612396..3ae6c01b399 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-reactive-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/reactive/mysql/command/query/text/query/ReactiveMySQLComQueryPacketExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-reactive-mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/reactive/mysql/command/query/text/query/ReactiveMySQLComQueryPacketExecutor.java
@@ -69,7 +69,7 @@ public final class ReactiveMySQLComQueryPacketExecutor implements ReactiveComman
try {
if (ResponseType.QUERY == responseType) {
while (textProtocolBackendHandler.next()) {
- result.add(new MySQLTextResultSetRowPacket(++currentSequenceId, textProtocolBackendHandler.getRowData()));
+ result.add(new MySQLTextResultSetRowPacket(++currentSequenceId, textProtocolBackendHandler.getRowData().getData()));
}
result.add(new MySQLEofPacket(++currentSequenceId, ServerStatusFlagCalculator.calculateFor(connectionSession)));
}