[ 
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)

Reply via email to