[ https://issues.apache.org/jira/browse/HAWQ-703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15267665#comment-15267665 ]
ASF GitHub Bot commented on HAWQ-703: ------------------------------------- Github user hornn commented on a diff in the pull request: https://github.com/apache/incubator-hawq/pull/633#discussion_r61818073 --- Diff: pxf/pxf-api/src/main/java/org/apache/hawq/pxf/api/Metadata.java --- @@ -67,36 +68,43 @@ public String toString() { } /** - * Class representing item field - name and type. + * Class representing item field - name, type, source type, modifiers. + * Type - exposed type of field + * Source type - type of field in underlying source + * Modifiers - additional attributes which describe type or field */ public static class Field { private String name; - private String type; // TODO: change to enum + private EnumHawqType type; // field type which PXF exposes + private String sourceType; // filed type PXF reads from private String[] modifiers; // type modifiers, optional field - public Field(String name, String type) { - - if (StringUtils.isBlank(name) || StringUtils.isBlank(type)) { - throw new IllegalArgumentException("Field name and type cannot be empty"); - } - - this.name = name; - this.type = type; + public Field(String name, EnumHawqType type, String sourceType) { + if (StringUtils.isBlank(name) || StringUtils.isBlank(type.getTypeName()) --- End diff -- type could be null, right? maybe just check that it's not null - it probably can't be an empty string because it's an enum. > Serialize HCatalog Complex Types to plain text (as Hive profile) > ---------------------------------------------------------------- > > Key: HAWQ-703 > URL: https://issues.apache.org/jira/browse/HAWQ-703 > Project: Apache HAWQ > Issue Type: New Feature > Components: Hcatalog, PXF > Reporter: Oleksandr Diachenko > Assignee: Oleksandr Diachenko > > As for now user is able to create external HAWQ table on top of Hive table > with complex types(LIST, MAP, STRUCT, UNION) and those types are being > serialized as TEXT. > But if user uses HCatalog integration feature and queries Hive tables having > compex type columns through HAWQ he/she gets error. > The goal is to serialize complex types to text when using HCatalog > integration. > Changes required: > - PXF: > -- add sourceType field to getMetadata endpoint. > - HAWQ: > -- master: > --- update stored procedure pxf_get_item_fields, add sourceType field to > responce. > -- psql: > --- update describe logic for Hive tables to show sourceType column in \d(\d+) -- This message was sent by Atlassian JIRA (v6.3.4#6332)