====
---- 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
====
