[ 
https://issues.apache.org/jira/browse/DRILL-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14496707#comment-14496707
 ] 

Hanifi Gunes commented on DRILL-1964:
-------------------------------------

This is an intended feature of Drill. We don't differentiate null fields from 
non-existence ones. Outputting null is semantically the same with outputting 
nothing. I am going to close this issue.

> Missing key elements in returned array of maps
> ----------------------------------------------
>
>                 Key: DRILL-1964
>                 URL: https://issues.apache.org/jira/browse/DRILL-1964
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Data Types
>    Affects Versions: 0.8.0
>            Reporter: Chun Chang
>            Assignee: Hanifi Gunes
>            Priority: Minor
>             Fix For: 0.9.0
>
>
> #Wed Jan 07 18:54:07 EST 2015
> git.commit.id.abbrev=35a350f
> For an array of maps, if the schema for each map is not identical, with 
> today's implementation, we suppose to display each map with all elements 
> (keys) from all maps. This is not happening. For example, I have the 
> following data:
> {code}
> {
>     "id": 2,
>     "oooa": {
>         "oa": {
>             "oab": {
>                 "oabc": [
>                     {
>                         "rowId": 2
>                     },
>                     {
>                         "rowValue1": [{"rv1":1, "rv2":2}, {"rva1":3, 
> "rva2":4}],
>                         "rowValue2": [{"rw1":1, "rw2":2}, {"rwa1":3, 
> "rwa2":4}]
>                     }
>                 ]
>             }
>         }
>     }
> }
> {code}
> The following query gives:
> {code}
> 0: jdbc:drill:schema=dfs.drillTestDirComplexJ> select t.oooa.oa.oab.oabc from 
> `jira2file/jira1.json` t;
> +------------+
> |   EXPR$0   |
> +------------+
> | 
> [{"rowId":2,"rowValue1":[],"rowValue2":[]},{"rowValue1":[{"rv1":1,"rv2":2},{"rva1":3,"rva2":4}],"rowValue2":[{"rw1":1,"rw2":2},{"rwa1":3,"rwa2":4}]}]
>  |
> +------------+
> {code}
> The returned result in a nicely formatted json form:
> {code}
> [
>     {
>         "rowId": 2,
>         "rowValue1": [],
>         "rowValue2": []
>     },
>     {
>         "rowValue1": [
>             {
>                 "rv1": 1,
>                 "rv2": 2
>             },
>             {
>                 "rva1": 3,
>                 "rva2": 4
>             }
>         ],
>         "rowValue2": [
>             {
>                 "rw1": 1,
>                 "rw2": 2
>             },
>             {
>                 "rwa1": 3,
>                 "rwa2": 4
>             }
>         ]
>     }
> ]
> {code}
> Notice the first map includes all keys from all maps. But the second map is 
> missing the "rowId" key.



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

Reply via email to