mirror of
https://github.com/apache/impala.git
synced 2026-01-05 21:00:54 -05:00
The current DESCRIBE prints the column type as a single string without whitespace. As a result, the DESCRIBE output for tables with complex types is basically unreadable/unusable, e.g., from the Impala shell. This patch adds a prettyPrint() function to the FE Type and uses that for generating a nicely formatted DESCRIBE output. The output of DESCRIBE FORMATTED is intentionally not modified because exact Hive-compatibility has been and presumably continues to be very important to our users. Change-Id: Ida810facdffd970948b837b83a60f9ddcd95f44d Reviewed-on: http://gerrit.cloudera.org:8080/633 Reviewed-by: Alex Behm <alex.behm@cloudera.com> Tested-by: Internal Jenkins
66 lines
1.9 KiB
Plaintext
66 lines
1.9 KiB
Plaintext
====
|
|
---- QUERY
|
|
# Simple describe (note Hive does not support this)
|
|
describe functional.alltypes
|
|
---- RESULTS
|
|
'id','int','Add a comment'
|
|
'bool_col','boolean',''
|
|
'tinyint_col','tinyint',''
|
|
'smallint_col','smallint',''
|
|
'int_col','int',''
|
|
'bigint_col','bigint',''
|
|
'float_col','float',''
|
|
'double_col','double',''
|
|
'date_string_col','string',''
|
|
'string_col','string',''
|
|
'timestamp_col','timestamp',''
|
|
'year','int',''
|
|
'month','int',''
|
|
---- TYPES
|
|
string, string, string
|
|
====
|
|
---- QUERY
|
|
USE functional
|
|
====
|
|
---- QUERY
|
|
# Default database
|
|
describe alltypes
|
|
---- RESULTS
|
|
'id','int','Add a comment'
|
|
'bool_col','boolean',''
|
|
'tinyint_col','tinyint',''
|
|
'smallint_col','smallint',''
|
|
'int_col','int',''
|
|
'bigint_col','bigint',''
|
|
'float_col','float',''
|
|
'double_col','double',''
|
|
'date_string_col','string',''
|
|
'string_col','string',''
|
|
'timestamp_col','timestamp',''
|
|
'year','int',''
|
|
'month','int',''
|
|
---- TYPES
|
|
string, string, string
|
|
====
|
|
---- QUERY
|
|
# Test printing of complex types.
|
|
describe functional.allcomplextypes
|
|
---- RESULTS
|
|
'id','int',''
|
|
'int_array_col','array<int>',''
|
|
'array_array_col','array<array<int>>',''
|
|
'map_array_col','array<map<string,int>>',''
|
|
'struct_array_col','array<struct<\n f1:bigint,\n f2:string\n>>',''
|
|
'int_map_col','map<string,int>',''
|
|
'array_map_col','map<string,array<int>>',''
|
|
'map_map_col','map<string,map<string,int>>',''
|
|
'struct_map_col','map<string,struct<\n f1:bigint,\n f2:string\n>>',''
|
|
'int_struct_col','struct<\n f1:int,\n f2:int\n>',''
|
|
'complex_struct_col','struct<\n f1:int,\n f2:array<int>,\n f3:map<string,int>\n>',''
|
|
'nested_struct_col','struct<\n f1:int,\n f2:struct<\n f11:bigint,\n f12:struct<\n f21:bigint\n >\n >\n>',''
|
|
'complex_nested_struct_col','struct<\n f1:int,\n f2:array<struct<\n f11:bigint,\n f12:map<string,struct<\n f21:bigint\n >>\n >>\n>',''
|
|
'year','int',''
|
|
'month','int',''
|
|
---- TYPES
|
|
string, string, string
|
|
==== |