Saving all output to "!!{outputDirectory}!!/describe_xpath.q.raw". Enter "record" with no arguments to stop it. >>> !run !!{qFileDirectory}!!/describe_xpath.q >>> -- Describe a list structure in a thrift table >>> describe src_thrift.lint; 'col_name','data_type','comment' 'lint','array','from deserializer' 1 row selected >>> >>> -- Describe the element of a list >>> describe src_thrift.lint.$elem$; 'col_name','data_type','comment' '$elem$','int','from deserializer' 1 row selected >>> >>> -- Describe the key of a map >>> describe src_thrift.mStringString.$key$; 'col_name','data_type','comment' '$key$','string','from deserializer' 1 row selected >>> >>> -- Describe the value of a map >>> describe src_thrift.mStringString.$value$; 'col_name','data_type','comment' '$value$','string','from deserializer' 1 row selected >>> >>> -- Describe a complex element of a list >>> describe src_thrift.lintString.$elem$; 'col_name','data_type','comment' 'myint','int','from deserializer' 'mystring','string','from deserializer' 'underscore_int','int','from deserializer' 3 rows selected >>> >>> -- Describe a member of an element of a list >>> describe src_thrift.lintString.$elem$.myint; 'col_name','data_type','comment' 'myint','int','from deserializer' 1 row selected >>> !record