| ==== |
| ---- QUERY |
| 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 |
| # 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 |
| ==== |
| ---- QUERY |
| describe functional_parquet.allcomplextypes.int_array_col |
| ---- RESULTS |
| 'item','int','' |
| 'pos','bigint','' |
| ---- TYPES |
| string,string,string |
| ==== |
| ---- QUERY |
| describe functional_parquet.allcomplextypes.map_array_col.item |
| ---- RESULTS |
| 'key','string','' |
| 'value','int','' |
| ---- TYPES |
| string,string,string |
| ==== |
| ---- QUERY |
| describe functional_parquet.allcomplextypes.complex_struct_col |
| ---- RESULTS |
| 'f1','int','' |
| 'f2','array<int>','' |
| 'f3','map<string,int>','' |
| ---- TYPES |
| string,string,string |
| ==== |
| ---- QUERY |
| describe functional_parquet.allcomplextypes.complex_struct_col.f2 |
| ---- RESULTS |
| 'item','int','' |
| 'pos','bigint','' |
| ---- TYPES |
| string,string,string |
| ==== |
| ---- QUERY |
| describe functional_parquet.allcomplextypes.nested_struct_col |
| ---- RESULTS |
| 'f1','int','' |
| 'f2','struct<\n f11:bigint,\n f12:struct<\n f21:bigint\n >\n>','' |
| ---- TYPES |
| string,string,string |
| ==== |
| ---- QUERY |
| # Test describing structs within collections. |
| create table if not exists nested_structs ( |
| map_array_struct_col map<string, array<struct<f1:int, f2:string>>>, |
| struct_array_struct_col |
| struct<f1:int, f2:array<struct<f11:bigint, f12:string>>>, |
| map_array_map_struct_col |
| map<string, array<map<string, struct<f1:string, f2:int>>>>) |
| ---- RESULTS |
| 'Table has been created.' |
| ==== |
| ---- QUERY |
| describe nested_structs |
| ---- RESULTS |
| 'map_array_struct_col','map<string,array<struct<\n f1:int,\n f2:string\n>>>','' |
| 'struct_array_struct_col','struct<\n f1:int,\n f2:array<struct<\n f11:bigint,\n f12:string\n >>\n>','' |
| 'map_array_map_struct_col','map<string,array<map<string,struct<\n f1:string,\n f2:int\n>>>>','' |
| ---- TYPES |
| string,string,string |
| ==== |
| ---- QUERY |
| use functional |
| ==== |
| ---- QUERY |
| # Check that paths relative to current database work ok. |
| 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 |
| use functional_parquet |
| ==== |
| ---- QUERY |
| # Check that paths relative to current database work ok. |
| describe allcomplextypes.int_array_col |
| ---- RESULTS |
| 'item','int','' |
| 'pos','bigint','' |
| ---- TYPES |
| string,string,string |
| ==== |
| ---- HIVE_MAJOR_VERSION |
| 3 |
| ---- QUERY |
| # describe full ACID partitioned table 'alltypes'. |
| describe functional_orc_def.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 |
| ==== |
| ---- HIVE_MAJOR_VERSION |
| 3 |
| ---- QUERY |
| # describe synthetic transactional field 'row__id'. |
| describe functional_orc_def.alltypes.row__id |
| ---- RESULTS |
| 'operation','int','' |
| 'originaltransaction','bigint','' |
| 'bucket','int','' |
| 'rowid','bigint','' |
| 'currenttransaction','bigint','' |
| ---- TYPES |
| string, string, string |
| ==== |
| ---- HIVE_MAJOR_VERSION |
| 3 |
| ---- QUERY |
| # describe full ACID table with nested types. |
| describe functional_orc_def.complextypestbl |
| ---- RESULTS |
| 'id','bigint','' |
| 'int_array','array<int>','' |
| 'int_array_array','array<array<int>>','' |
| 'int_map','map<string,int>','' |
| 'int_map_array','array<map<string,int>>','' |
| 'nested_struct','struct<\n a:int,\n b:array<int>,\n c:struct<\n d:array<array<struct<\n e:int,\n f:string\n >>>\n >,\n g:map<string,struct<\n h:struct<\n i:array<double>\n >\n >>\n>','' |
| ---- TYPES |
| string, string, string |
| ==== |