[
https://issues.apache.org/jira/browse/AVRO-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15142848#comment-15142848
]
Douglas Creager commented on AVRO-1797:
---------------------------------------
On the C side we don't support default values at all yet; AVRO-1270 is the
tracking bug for adding support for that.
Your point is still valid for rendering Avro values using the JSON encoding,
though; for that, any bytes value will be truncated at the first NUL byte. The
JSON library that we're using lets you pass in an explicit length for any
strings, though (using the json_string_nocheck function), so it should be
pretty easy to update src/value-json.c to call it and fix this. It's a pretty
good starter bug if you want to take a stab at it; if not, I can probably look
at this sometime this week or next.
> Schema parser should not ignore null character in default value for bytes
> -------------------------------------------------------------------------
>
> Key: AVRO-1797
> URL: https://issues.apache.org/jira/browse/AVRO-1797
> Project: Avro
> Issue Type: Bug
> Components: c, java
> Affects Versions: 1.7.4
> Environment: Hive, Impala
> Reporter: Huaisi Xu
> Priority: Critical
>
> In https://avro.apache.org/docs/1.7.7/spec.html#schema_complex, "Default
> values for bytes and fixed fields are JSON strings, where Unicode code points
> 0-255 are mapped to unsigned 8-bit byte values 0-255.". The example provided
> is: bytes || string || "\u00FF".
> However, if I try to create a table schema with default bytes value for a
> decimal field to be i.e. "\u0031", I will have "Illegal unquoted character
> ((CTRL-CHAR, code 31)): has to be escaped using backslash to be included in
> string value.". Anything less than 32 fails.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)