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 2020/11/29 05:43:15 UTC
[shardingsphere] branch master updated: Refactor row query result's
package structure (#8402)
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 7e15987 Refactor row query result's package structure (#8402)
7e15987 is described below
commit 7e159870fdaa10b54b964e3595b315e3110f3437
Author: Liang Zhang <te...@163.com>
AuthorDate: Sun Nov 29 13:42:51 2020 +0800
Refactor row query result's package structure (#8402)
* Move QueryResultRow to row package
* Rename QueryResultColumnMetaData
* Add column metadata methods with QueryResultMetaData
* Rename QueryResultDataRow
---
.../execute/result/query/raw/RawQueryResult.java | 29 +++++++-------
...etaData.java => QueryResultColumnMetaData.java} | 4 +-
.../query/raw/metadata/QueryResultMetaData.java | 46 +++++++++++++++++++++-
.../QueryResultDataRow.java} | 6 +--
.../text/admin/ShowTablesBackendHandler.java | 8 ++--
5 files changed, 69 insertions(+), 24 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/RawQueryResult.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/RawQueryResult.java
index 2c4fe74..88431ec 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/RawQueryResult.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/RawQueryResult.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw;
import lombok.SneakyThrows;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.metadata.QueryResultMetaData;
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.row.QueryResultDataRow;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -37,11 +38,11 @@ public final class RawQueryResult implements QueryResult {
private final QueryResultMetaData metaData;
- private final Iterator<QueryResultRow> rows;
+ private final Iterator<QueryResultDataRow> rows;
- private QueryResultRow currentRow;
+ private QueryResultDataRow currentRow;
- public RawQueryResult(final QueryResultMetaData metaData, final List<QueryResultRow> rows) {
+ public RawQueryResult(final QueryResultMetaData metaData, final List<QueryResultDataRow> rows) {
this.metaData = metaData;
this.rows = rows.iterator();
}
@@ -88,56 +89,56 @@ public final class RawQueryResult implements QueryResult {
@Override
public int getColumnCount() {
- return metaData.getColumns().size();
+ return metaData.getColumnCount();
}
@Override
public String getTableName(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).getTableName();
+ return metaData.getTableName(columnIndex);
}
@Override
public String getColumnName(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).getName();
+ return metaData.getColumnName(columnIndex);
}
@Override
public String getColumnLabel(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).getLabel();
+ return metaData.getColumnLabel(columnIndex);
}
@Override
public int getColumnType(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).getType();
+ return metaData.getColumnType(columnIndex);
}
@Override
public String getColumnTypeName(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).getTypeName();
+ return metaData.getColumnTypeName(columnIndex);
}
@Override
public int getColumnLength(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).getLength();
+ return metaData.getColumnLength(columnIndex);
}
@Override
public int getDecimals(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).getDecimals();
+ return metaData.getDecimals(columnIndex);
}
@Override
public boolean isSigned(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).isSigned();
+ return metaData.isSigned(columnIndex);
}
@Override
public boolean isNotNull(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).isNotNull();
+ return metaData.isNotNull(columnIndex);
}
@Override
public boolean isAutoIncrement(final int columnIndex) {
- return metaData.getColumns().get(columnIndex).isAutoIncrement();
+ return metaData.isAutoIncrement(columnIndex);
}
}
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultRowMetaData.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultColumnMetaData.java
similarity index 94%
rename from shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultRowMetaData.java
rename to shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultColumnMetaData.java
index 5cbf446..8dee208 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultRowMetaData.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultColumnMetaData.java
@@ -21,11 +21,11 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
- * Query result row meta data.
+ * Query result column meta data.
*/
@RequiredArgsConstructor
@Getter
-public final class QueryResultRowMetaData {
+public final class QueryResultColumnMetaData {
private final String tableName;
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultMetaData.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultMetaData.java
index 7213186..c7fbd81 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultMetaData.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/metadata/QueryResultMetaData.java
@@ -29,5 +29,49 @@ import java.util.List;
@Getter
public final class QueryResultMetaData {
- private final List<QueryResultRowMetaData> columns;
+ private final List<QueryResultColumnMetaData> columns;
+
+ public int getColumnCount() {
+ return columns.size();
+ }
+
+ public String getTableName(final int columnIndex) {
+ return columns.get(columnIndex).getTableName();
+ }
+
+ public String getColumnName(final int columnIndex) {
+ return columns.get(columnIndex).getName();
+ }
+
+ public String getColumnLabel(final int columnIndex) {
+ return columns.get(columnIndex).getLabel();
+ }
+
+ public int getColumnType(final int columnIndex) {
+ return columns.get(columnIndex).getType();
+ }
+
+ public String getColumnTypeName(final int columnIndex) {
+ return columns.get(columnIndex).getTypeName();
+ }
+
+ public int getColumnLength(final int columnIndex) {
+ return columns.get(columnIndex).getLength();
+ }
+
+ public int getDecimals(final int columnIndex) {
+ return columns.get(columnIndex).getDecimals();
+ }
+
+ public boolean isSigned(final int columnIndex) {
+ return columns.get(columnIndex).isSigned();
+ }
+
+ public boolean isNotNull(final int columnIndex) {
+ return columns.get(columnIndex).isNotNull();
+ }
+
+ public boolean isAutoIncrement(final int columnIndex) {
+ return columns.get(columnIndex).isAutoIncrement();
+ }
}
diff --git a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/QueryResultRow.java b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/row/QueryResultDataRow.java
similarity index 92%
rename from shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/QueryResultRow.java
rename to shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/row/QueryResultDataRow.java
index f941eac..8a39122 100644
--- a/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/QueryResultRow.java
+++ b/shardingsphere-infra/shardingsphere-infra-executor/src/main/java/org/apache/shardingsphere/infra/executor/sql/execute/result/query/raw/row/QueryResultDataRow.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw;
+package org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.row;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -23,11 +23,11 @@ import lombok.RequiredArgsConstructor;
import java.util.List;
/**
- * Query result row.
+ * Query result data row.
*/
@RequiredArgsConstructor
@Getter
-public final class QueryResultRow {
+public final class QueryResultDataRow {
private final List<Object> value;
}
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowTablesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowTablesBackendHandler.java
index 4204fe1..b5ae8d0 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowTablesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowTablesBackendHandler.java
@@ -19,10 +19,10 @@ package org.apache.shardingsphere.proxy.backend.text.admin;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
-import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.QueryResultRow;
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.row.QueryResultDataRow;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.RawQueryResult;
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.metadata.QueryResultMetaData;
-import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.metadata.QueryResultRowMetaData;
+import org.apache.shardingsphere.infra.executor.sql.execute.result.query.raw.metadata.QueryResultColumnMetaData;
import org.apache.shardingsphere.proxy.backend.response.query.QueryHeader;
import org.apache.shardingsphere.proxy.backend.communication.jdbc.connection.BackendConnection;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
@@ -54,10 +54,10 @@ public final class ShowTablesBackendHandler implements TextProtocolBackendHandle
if (!ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName()).isComplete()) {
return result;
}
- QueryResultMetaData metaData = new QueryResultMetaData(Collections.singletonList(new QueryResultRowMetaData(
+ QueryResultMetaData metaData = new QueryResultMetaData(Collections.singletonList(new QueryResultColumnMetaData(
null, result.getQueryHeaders().get(0).getColumnName(), result.getQueryHeaders().get(0).getColumnLabel(), Types.VARCHAR, "VARCHAR", 255, 0, false, false, false)));
Collection<String> allTableNames = ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName()).getSchema().getAllTableNames();
- List<QueryResultRow> rows = allTableNames.stream().map(each -> new QueryResultRow(Collections.singletonList(each))).collect(Collectors.toList());
+ List<QueryResultDataRow> rows = allTableNames.stream().map(each -> new QueryResultDataRow(Collections.singletonList(each))).collect(Collectors.toList());
QueryResult queryResult = new RawQueryResult(metaData, rows);
result.getQueryResults().add(queryResult);
queryResponse = result;