Francis Chuang created CALCITE-1209:
---------------------------------------
Summary: 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
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)