[
https://issues.apache.org/jira/browse/DRILL-7821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17283915#comment-17283915
]
ASF GitHub Bot commented on DRILL-7821:
---------------------------------------
mkusnir opened a new pull request #2169:
URL: https://github.com/apache/drill/pull/2169
# [DRILL-7821](https://issues.apache.org/jira/browse/DRILL-7821): Treat
Empty String as NULL in JSON Reader
## Description
Added try-catch to handleString() in JsonReader to allow empty string "" to
be parsed as empty object {} when object type is inferred from earlier keys, as
discussed with @cgivre
## Documentation
Drill can now handle the scenario described without the use of
`exec.enable.union.type=true`, perhaps user documentation should be updated to
mention the limitation occurring when "" appears before {}, either a dummy
entry must be added to the start of the JSON (so that the correct types are
inferred) or the union type must be used
## Testing
Queried sample JSON files to verify new behavior, Maven tests
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Treat Empty String as NULL in JSON Reader
> -----------------------------------------
>
> Key: DRILL-7821
> URL: https://issues.apache.org/jira/browse/DRILL-7821
> Project: Apache Drill
> Issue Type: Bug
> Components: Storage - JSON
> Affects Versions: 1.17.0
> Reporter: Charles Givre
> Priority: Major
> Fix For: 1.19.0
>
> Attachments: servicenow.json
>
>
> In the JSON below the field `resolved_by` first appears as a map but in
> records when it is not defined, is empty strings. This causes
> SchemaChangeExceptions.
> I'm wondering if Drill could either ignore or interpret the empty strings as
> null so that the query will complete.
>
> {{{
> ....
> "skills": "",
> "number": "INC0000001",
> *"resolved_by": {*
> *"link":
> "https://empmgill4.service-now.com/api/now/table/sys_user/6816f79cc0a8016401c5a33be04be441",*
> *"value": "6816f79cc0a8016401c5a33be04be441"*
> *},*
> "sys_updated_by": "admin"
> ...
> },
> { ... "number": "INC0000002", *"resolved_by": "",*
> "sys_updated_by": "admin", ... }}
> }
--
This message was sent by Atlassian Jira
(v8.3.4#803005)