You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ma...@apache.org on 2022/04/05 08:17:44 UTC

[hive] branch master updated: HIVE-26105 : Show columns shows extra values if column comments contains specific Chinese character (Mahesh Kumar Behera, Ramesh Kumar Thangarajan)

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

mahesh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new c589314240 HIVE-26105 : Show columns shows extra values if column comments contains specific Chinese character (Mahesh Kumar Behera, Ramesh Kumar Thangarajan)
c589314240 is described below

commit c5893142408470391f83b284b31fbe281ef4351f
Author: mahesh kumar behera <ma...@apache.org>
AuthorDate: Tue Apr 5 13:47:37 2022 +0530

    HIVE-26105 : Show columns shows extra values if column comments contains specific Chinese character (Mahesh Kumar Behera, Ramesh Kumar Thangarajan)
---
 .../ql/ddl/table/column/show/ShowColumnsOperation.java  |  3 ++-
 ql/src/test/queries/clientpositive/show_columns.q       |  4 ++++
 .../test/results/clientpositive/llap/show_columns.q.out | 17 +++++++++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/column/show/ShowColumnsOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/column/show/ShowColumnsOperation.java
index d621dcbf27..289479b7ee 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/column/show/ShowColumnsOperation.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/table/column/show/ShowColumnsOperation.java
@@ -108,7 +108,8 @@ public class ShowColumnsOperation extends DDLOperation<ShowColumnsDesc> {
   private void writeColumns(DataOutputStream outStream, List<FieldSchema> columns) throws IOException {
     TextMetaDataTable tmd = new TextMetaDataTable();
     for (FieldSchema fieldSchema : columns) {
-      tmd.addRow(ShowUtils.extractColumnValues(fieldSchema, false, null));
+      // For show Columns operation, we just need the column name.
+      tmd.addRow(fieldSchema.getName());
     }
 
     // In case the query is served by HiveServer2, don't pad it with spaces,
diff --git a/ql/src/test/queries/clientpositive/show_columns.q b/ql/src/test/queries/clientpositive/show_columns.q
index a3677db362..fe2d64f211 100644
--- a/ql/src/test/queries/clientpositive/show_columns.q
+++ b/ql/src/test/queries/clientpositive/show_columns.q
@@ -50,3 +50,7 @@ SHOW SORTED COLUMNS in foo_n7 from test_db "col+";
 SHOW SORTED COLUMNS in foo_n7 from test_db "c";
 SHOW SORTED COLUMNS from foo_n7 from test_db "c*";
 SHOW SORTED COLUMNS from foo_n7 from test_db like 'c*';
+
+-- show column for table with chinese comments. 名 UTF code is 0x540D. D means CR ( '\r'). It should not cause issue.
+create table tbl_test (fld string COMMENT '期末日期', fld1 string COMMENT '班次名称', fld2  string COMMENT '排班人数');
+show columns from tbl_test;
\ No newline at end of file
diff --git a/ql/src/test/results/clientpositive/llap/show_columns.q.out b/ql/src/test/results/clientpositive/llap/show_columns.q.out
index e3391669e2..4b2cb904db 100644
--- a/ql/src/test/results/clientpositive/llap/show_columns.q.out
+++ b/ql/src/test/results/clientpositive/llap/show_columns.q.out
@@ -451,3 +451,20 @@ col3
 cola                
 colb                
 colc                
+PREHOOK: query: create table tbl_test (fld string COMMENT '期末日期', fld1 string COMMENT '班次名称', fld2  string COMMENT '排班人数')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tbl_test
+POSTHOOK: query: create table tbl_test (fld string COMMENT '期末日期', fld1 string COMMENT '班次名称', fld2  string COMMENT '排班人数')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tbl_test
+PREHOOK: query: show columns from tbl_test
+PREHOOK: type: SHOWCOLUMNS
+PREHOOK: Input: default@tbl_test
+POSTHOOK: query: show columns from tbl_test
+POSTHOOK: type: SHOWCOLUMNS
+POSTHOOK: Input: default@tbl_test
+fld                 
+fld1                
+fld2