You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/12/03 20:14:00 UTC
[jira] [Commented] (AVRO-1849) C++ printJson fails on record with
no fields
[ https://issues.apache.org/jira/browse/AVRO-1849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16707731#comment-16707731 ]
ASF subversion and git services commented on AVRO-1849:
-------------------------------------------------------
Commit b5bec5ca18901507f6fc01d635f10465fd3edcdf in avro's branch refs/heads/master from Simon24601
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=b5bec5c ]
Avro1363 C# union schema can now contain multiple entries with the same name and different namespace (#131)
* AVRO-1849 Fix the issue where converting the schema of a record with no fields produced an invalid JSON
* Fix style issues in the code.
* Fix the build scripts; build.sh requires the :z addition to work on SELinux (see Jira 1925). lang/c++/build.sh refers to the lang/c++/build directory which is empty. These are now fixed.
* Update to use BOOST_TEST_CHECKPOINT
* AVRO-1926 Revert changes to the lang/c++/build.sh script and add the SchemaTests to the list of tests. Also revert SELinux changes to build.sh as these should be committed separately
* AVRO-1363 Fix the parsing of a union schema with duplicate names but different namespaces. In Java, this works, but not in C#
* Remove c++ changes from the AVRO1363 branch
> C++ printJson fails on record with no fields
> --------------------------------------------
>
> Key: AVRO-1849
> URL: https://issues.apache.org/jira/browse/AVRO-1849
> Project: Apache Avro
> Issue Type: Bug
> Components: c++
> Affects Versions: 1.7.7, 1.8.0
> Environment: Not relevant
> Reporter: Simon Woodford
> Assignee: Simon Woodford
> Priority: Minor
> Fix For: 1.9.0
>
>
> The function NodeRecord::printJson in lang/c++/impl/NodeImpl.cc does not correctly handle a record with no fields. It injects an extra closing curly brace, and the result is invalid JSON.
> Starting with a schema
> {
> "type": "record",
> "name": "Example",
> "fields" : [
> ]
> }
> and parsing it to create a ValidSchema, then calling toJson on the ValidSchema generates
> {
> "type": "record",
> "name": "Example",
> "fields" : [
> }
> ]
> }
> A record with no fields is unusual but we have encountered use cases for it, avro does not invalidate a record with no fields, and I've confirmed that Java, C and C# handle this case correctly. (I have not checked the other supported languages.)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)