[ 
https://issues.apache.org/jira/browse/CALCITE-910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Hyde updated CALCITE-910:
--------------------------------
    Fix Version/s: 1.5.0-incubating

> Improve handling of ARRAY, MULTISET, STRUCT types
> -------------------------------------------------
>
>                 Key: CALCITE-910
>                 URL: https://issues.apache.org/jira/browse/CALCITE-910
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>             Fix For: 1.5.0-incubating
>
>
> Improve end-to-end handling of STRUCT, MAP, ARRAY and MULTISET types.
> Add annotations org.apache.calcite.adapter.java.Array and 
> org.apache.calcite.adapter.java.Map to declare that a member of a class (i.e. 
> a column) is of ARRAY or MAP type, and what the element/key/value types are.
> Add metadata so that Avatica JDBC knows that when you have gone into an ARRAY 
> column you are looking at a record type of say (INTEGER, ARRAY DOUBLE). 
> Currently the metadata only goes one level down and after that you are 
> looking at objects.
> When an array or multiset is read, we need to know how it is internally 
> represented. Currently it could be of type CUSTOM (e.g. a bean class such as 
> Employee) or LIST or ARRAY. In this change we standardize on LIST. Thus when 
> EnumerableUncollect comes to generate code for {code}select * from 
> unnest(select employees from dept){code} it will know that employees is a 
> list and each employee record is also a list.
> To do this we will need to convert (e.g. from an array of Employee objects) 
> on the way in.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to