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 2020/12/02 06:21:41 UTC

[shardingsphere] branch master updated: Keep consist with order of QueryHeader and RawQueryResultColumnMetaData field (#8468)

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 f5560d5  Keep consist with order of QueryHeader and RawQueryResultColumnMetaData field (#8468)
f5560d5 is described below

commit f5560d5744f7129445d2712ba83e2c0ebddcde25
Author: Liang Zhang <te...@163.com>
AuthorDate: Wed Dec 2 14:21:14 2020 +0800

    Keep consist with order of QueryHeader and RawQueryResultColumnMetaData field (#8468)
---
 .../proxy/backend/response/header/query/impl/QueryHeader.java     | 4 ++--
 .../backend/response/header/query/impl/QueryHeaderBuilder.java    | 4 ++--
 .../proxy/backend/text/admin/ShowDatabasesBackendHandler.java     | 2 +-
 .../proxy/backend/text/admin/ShowTablesBackendHandler.java        | 8 ++++----
 .../text/sctl/explain/ShardingCTLExplainBackendHandler.java       | 4 ++--
 .../text/sctl/hint/internal/executor/HintShowStatusExecutor.java  | 4 ++--
 .../sctl/hint/internal/executor/HintShowTableStatusExecutor.java  | 6 +++---
 .../backend/text/sctl/show/ShardingCTLShowBackendHandler.java     | 2 +-
 .../mysql/command/query/builder/ResponsePacketBuilderTest.java    | 4 ++--
 9 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeader.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeader.java
index 763cfdb..79eebcd 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeader.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeader.java
@@ -35,12 +35,12 @@ public final class QueryHeader {
     
     private final String columnName;
     
-    private final int columnLength;
-    
     private final int columnType;
     
     private final String columnTypeName;
     
+    private final int columnLength;
+    
     private final int decimals;
     
     private final boolean signed;
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeaderBuilder.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeaderBuilder.java
index 565aaf0..7553047 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeaderBuilder.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/response/header/query/impl/QueryHeaderBuilder.java
@@ -79,14 +79,14 @@ public final class QueryHeaderBuilder {
             primaryKey = false;
         }
         String columnLabel = queryResult.getMetaData().getColumnLabel(columnIndex);
-        int columnLength = queryResult.getMetaData().getColumnLength(columnIndex);
         int columnType = queryResult.getMetaData().getColumnType(columnIndex);
         String columnTypeName = queryResult.getMetaData().getColumnTypeName(columnIndex);
+        int columnLength = queryResult.getMetaData().getColumnLength(columnIndex);
         int decimals = queryResult.getMetaData().getDecimals(columnIndex);
         boolean signed = queryResult.getMetaData().isSigned(columnIndex);
         boolean notNull = queryResult.getMetaData().isNotNull(columnIndex);
         boolean autoIncrement = queryResult.getMetaData().isAutoIncrement(columnIndex);
-        return new QueryHeader(schemaName, tableName, columnLabel, columnName, columnLength, columnType, columnTypeName, decimals, signed, primaryKey, notNull, autoIncrement);
+        return new QueryHeader(schemaName, tableName, columnLabel, columnName, columnType, columnTypeName, columnLength, decimals, signed, primaryKey, notNull, autoIncrement);
     }
     
     private static String getColumnName(final ProjectionsContext projectionsContext, final QueryResult queryResult, final int columnIndex) throws SQLException {
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowDatabasesBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowDatabasesBackendHandler.java
index 7a3e210..3abd3eec 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowDatabasesBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/admin/ShowDatabasesBackendHandler.java
@@ -47,7 +47,7 @@ public final class ShowDatabasesBackendHandler implements TextProtocolBackendHan
     public ResponseHeader execute() {
         mergedResult = new SingleLocalDataMergedResult(getSchemaNames());
         return new QueryResponseHeader(Collections.singletonList(
-                new QueryHeader("information_schema", "SCHEMATA", "Database", "SCHEMA_NAME", 100, Types.VARCHAR, "VARCHAR", 0, false, false, false, false)));
+                new QueryHeader("information_schema", "SCHEMATA", "Database", "SCHEMA_NAME", Types.VARCHAR, "VARCHAR", 100, 0, false, false, false, false)));
     }
     
     private Collection<Object> getSchemaNames() {
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 1fe85fe..45bbbd3 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
@@ -50,21 +50,21 @@ public final class ShowTablesBackendHandler implements TextProtocolBackendHandle
     
     @Override
     public ResponseHeader execute() {
-        QueryResponseHeader result = createQueryResponse(backendConnection.getSchemaName());
+        QueryResponseHeader result = createQueryResponseHeader(backendConnection.getSchemaName());
         if (!ProxyContext.getInstance().getMetaData(backendConnection.getSchemaName()).isComplete()) {
             return result;
         }
         RawQueryResultMetaData metaData = new RawQueryResultMetaData(Collections.singletonList(new RawQueryResultColumnMetaData(
-                null, result.getQueryHeaders().get(0).getColumnName(), result.getQueryHeaders().get(0).getColumnLabel(), Types.VARCHAR, "VARCHAR", 255, 0, false, false, false)));
+                "", 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<MemoryQueryResultDataRow> rows = allTableNames.stream().map(each -> new MemoryQueryResultDataRow(Collections.singletonList(each))).collect(Collectors.toList());
         queryResult = new RawMemoryQueryResult(metaData, rows);
         return result;
     }
     
-    private QueryResponseHeader createQueryResponse(final String schemaName) {
+    private QueryResponseHeader createQueryResponseHeader(final String schemaName) {
         String column = String.format("Tables_in_%s", schemaName);
-        return new QueryResponseHeader(Collections.singletonList(new QueryHeader(schemaName, "", column, column, 64, Types.VARCHAR, "VARCHAR", 0, false, false, false, false)));
+        return new QueryResponseHeader(Collections.singletonList(new QueryHeader(schemaName, "", column, column, Types.VARCHAR, "VARCHAR", 255, 0, false, false, false, false)));
     }
     
     @Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java
index cfed674..0c86855 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/explain/ShardingCTLExplainBackendHandler.java
@@ -74,8 +74,8 @@ public final class ShardingCTLExplainBackendHandler implements TextProtocolBacke
         LogicSQL logicSQL = createLogicSQL(metaData, explainStatement.get());
         executionUnits = kernelProcessor.generateExecutionContext(logicSQL, metaData, ProxyContext.getInstance().getMetaDataContexts().getProps()).getExecutionUnits().iterator();
         queryHeaders = new ArrayList<>(2);
-        queryHeaders.add(new QueryHeader("", "", "datasource_name", "", 255, Types.CHAR, "CHAR", 0, false, false, false, false));
-        queryHeaders.add(new QueryHeader("", "", "sql", "", 255, Types.CHAR, "CHAR", 0, false, false, false, false));
+        queryHeaders.add(new QueryHeader("", "", "datasource_name", "", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
+        queryHeaders.add(new QueryHeader("", "", "sql", "", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
         return new QueryResponseHeader(queryHeaders);
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowStatusExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowStatusExecutor.java
index 8b63891..9054204 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowStatusExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowStatusExecutor.java
@@ -37,8 +37,8 @@ public final class HintShowStatusExecutor extends AbstractHintQueryExecutor<Hint
     @Override
     protected List<QueryHeader> createQueryHeaders() {
         List<QueryHeader> result = new ArrayList<>(2);
-        result.add(new QueryHeader("", "", "primary_only", "", 5, Types.CHAR, "CHAR", 0, false, false, false, false));
-        result.add(new QueryHeader("", "", "sharding_type", "", 255, Types.CHAR, "CHAR", 0, false, false, false, false));
+        result.add(new QueryHeader("", "", "primary_only", "", Types.CHAR, "CHAR", 5, 0, false, false, false, false));
+        result.add(new QueryHeader("", "", "sharding_type", "", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
         return result;
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java
index 03f2041..778be19 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/hint/internal/executor/HintShowTableStatusExecutor.java
@@ -49,9 +49,9 @@ public final class HintShowTableStatusExecutor extends AbstractHintQueryExecutor
     @Override
     protected List<QueryHeader> createQueryHeaders() {
         List<QueryHeader> result = new ArrayList<>(3);
-        result.add(new QueryHeader("", "", "table_name", "", 255, Types.CHAR, "CHAR", 0, false, false, false, false));
-        result.add(new QueryHeader("", "", "database_sharding_values", "", 255, Types.CHAR, "CHAR", 0, false, false, false, false));
-        result.add(new QueryHeader("", "", "table_sharding_values", "", 255, Types.CHAR, "CHAR", 0, false, false, false, false));
+        result.add(new QueryHeader("", "", "table_name", "", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
+        result.add(new QueryHeader("", "", "database_sharding_values", "", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
+        result.add(new QueryHeader("", "", "table_sharding_values", "", Types.CHAR, "CHAR", 255, 0, false, false, false, false));
         return result;
     }
     
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/show/ShardingCTLShowBackendHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/show/ShardingCTLShowBackendHandler.java
index f049e94..426ffee 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/show/ShardingCTLShowBackendHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/sctl/show/ShardingCTLShowBackendHandler.java
@@ -68,7 +68,7 @@ public final class ShardingCTLShowBackendHandler implements TextProtocolBackendH
     
     private ResponseHeader createResponsePackets(final String columnName, final Object... values) {
         mergedResult = new MultipleLocalDataMergedResult(Collections.singletonList(Arrays.asList(values)));
-        return new QueryResponseHeader(Collections.singletonList(new QueryHeader("", "", columnName, columnName, 100, Types.VARCHAR, "VARCHAR", 0, false, false, false, false)));
+        return new QueryResponseHeader(Collections.singletonList(new QueryHeader("", "", columnName, columnName, Types.VARCHAR, "VARCHAR", 100, 0, false, false, false, false)));
     }
     
     @Override
diff --git a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/builder/ResponsePacketBuilderTest.java b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/builder/ResponsePacketBuilderTest.java
index b3387d9..5822632 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/builder/ResponsePacketBuilderTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/builder/ResponsePacketBuilderTest.java
@@ -42,8 +42,8 @@ public final class ResponsePacketBuilderTest {
     
     @Test
     public void assertBuildQueryResponsePackets() {
-        QueryHeader queryHeader1 = new QueryHeader("schema1", "table1", "columnLabel1", "columnName1", 4, 5, "VARCHAR", 6, false, true, false, true);
-        QueryHeader queryHeader2 = new QueryHeader("schema2", "table2", "columnLabel2", "columnName2", 7, 8, "VARCHAR", 9, false, true, true, true);
+        QueryHeader queryHeader1 = new QueryHeader("schema1", "table1", "columnLabel1", "columnName1", 5, "VARCHAR", 4, 6, false, true, false, true);
+        QueryHeader queryHeader2 = new QueryHeader("schema2", "table2", "columnLabel2", "columnName2", 8, "VARCHAR", 7, 9, false, true, true, true);
         List<QueryHeader> queryHeaders = Arrays.asList(queryHeader1, queryHeader2);
         QueryResponseHeader queryResponseHeader = new QueryResponseHeader(queryHeaders);
         Collection<DatabasePacket<?>> actual = ResponsePacketBuilder.buildQueryResponsePackets(queryResponseHeader);