avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Douglas Creager (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1797) Schema parser should not ignore null character in default value for bytes
Date Thu, 11 Feb 2016 15:03:18 GMT

    [ 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

View raw message