While playing with BigQueryIO I noticed something.
When we create a TableRow (e.g. in a row function in bigQueryIO) using new TableRow().set(), for ex a long gets boxed
into a Long. But when it is encoded using TableRowJsonCoder and then re-read it might be decoded as an Integer if the
value fits into Integer. It causes failure in asserts in tests like write then read.
What I did for now is to downcast long to int to force it to be boxed into an Integer (because test value fits into
Integer) at TableRow creation.
Is there a way to fix it in TableRowJsonCoder or a better workaround?