What happened?
When working with a BQ table with a column named 'f', construction of a TableRow object fails with
java.lang.IllegalArgumentException: Can not set java.util.List field com.google.api.services.bigquery.model.TableRow.f to java.lang.String
This happens because TableRow is a GenericJson and has a key field named f expecting a List<TableCell>.
When reading the javadoc for TableRow, it seems to me that this model is supposed to represent a BQ resultset in the form
{
"f": [{"v": 1}, {"v": "value"}]
}
beam abuses the GenericJson capability and relies on the unknown fields to encode the result in the form
{
"column1": 1,
"column2": "value"
}
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components
What happened?
When working with a BQ table with a column named 'f', construction of a
TableRowobject fails withThis happens because
TableRowis aGenericJsonand has a key field namedfexpecting aList<TableCell>.When reading the javadoc for
TableRow, it seems to me that this model is supposed to represent a BQ resultset in the form{ "f": [{"v": 1}, {"v": "value"}] }beam abuses the
GenericJsoncapability and relies on the unknown fields to encode the result in the form{ "column1": 1, "column2": "value" }Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components