commit | 5630d8a15eba5332c3cbe472a4cbdbaab82b8bc4 | [log] [tgz] |
---|---|---|
author | Dmitry Lychagin <dmitry.lychagin@couchbase.com> | Tue Mar 06 14:27:24 2018 -0800 |
committer | Dmitry Lychagin <dmitry.lychagin@couchbase.com> | Tue Mar 06 16:35:23 2018 -0800 |
tree | ffa2d3e6845778b1fea20eb9db982c6d7a9f314f | |
parent | bb29bc7c2d2dab715e945534a8d42071e676013a [diff] |
[ASTERIXDB-2313][EXT] JSONDataParser support for non-object roots - user model changes: no - storage format changes: no - interface changes: no Details: - JSONDataParser API should support parsing documents with non-objects at the root Change-Id: I313924d0704f5ac735e592b46ed41e0e2f7cfd06 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2459 Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu> Reviewed-by: Till Westmann <tillw@apache.org> Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/JSONDataParser.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/JSONDataParser.java index bbe4a60..ce8780d 100644 --- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/JSONDataParser.java +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/JSONDataParser.java
@@ -119,6 +119,18 @@ } } + public boolean parseAnyValue(DataOutput out) throws HyracksDataException { + try { + if (nextToken() == ADMToken.EOF) { + return false; + } + parseValue(BuiltinType.ANY, out); + return true; + } catch (IOException e) { + throw new RuntimeDataException(ErrorCode.RECORD_READER_MALFORMED_INPUT_STREAM, e); + } + } + @Override public boolean reset(InputStream in) throws IOException { setInputStream(in);