You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2016/04/21 16:05:26 UTC
[jira] [Updated] (CALCITE-1209) Byte strings not being correctly
decoded when sent to avatica using protocol buffers
[ https://issues.apache.org/jira/browse/CALCITE-1209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Josh Elser updated CALCITE-1209:
--------------------------------
Fix Version/s: avatica-1.8.0
> Byte strings not being correctly decoded when sent to avatica using protocol buffers
> ------------------------------------------------------------------------------------
>
> Key: CALCITE-1209
> URL: https://issues.apache.org/jira/browse/CALCITE-1209
> Project: Calcite
> Issue Type: Bug
> Components: avatica
> Affects Versions: avatica-1.7.1
> Reporter: Francis Chuang
> Fix For: avatica-1.8.0
>
>
> When sending a typed value as a byte string to avatica using protocol buffers, it does not accept the bytes as an array of raw bytes in the {{bytes_values}} field.
> To work around it, the data needs to be first base64 encoded and then sent in the {{string_value}} field.
> This is the decoded protocol buffer being sent by the thin client:
> {code}
> 1: "org.apache.calcite.avatica.proto.Requests$ExecuteRequest"
> 2 {
> 1 {
> 1: "5141356e-f331-48c9-9d01-d71176ad92e8"
> 2: 126
> 3 {
> 2: "UPSERT INTO PQS.INTEGER_TABLE VALUES(?, ?)"
> 3 {
> 4: 4
> 5: "INTEGER"
> 6: "java.lang.Integer"
> 7: "?1"
> }
> 3 {
> 4: 4294967293
> 5: "VARBINARY"
> 6: "[B"
> 7: "?2"
> }
> 4 {
> 1: 4
> }
> }
> }
> 2 {
> 1: 12
> 4: 2
> }
> 2 {
> 1: 20
> // Data sent in string_value and base64 encoded
> 3: "iVBORw0KGgoAAAANSUhEUgAABmIAAAiwCAYAAAAvCT8OAAAACXBI..."
> }
> 3: 100
> 4: 1
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)