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;