Matthew Ouyang created BEAM-12532:
-------------------------------------
Summary: BigQueryUtils fromBeamField omits ":00" from times with 0
seconds
Key: BEAM-12532
URL: https://issues.apache.org/jira/browse/BEAM-12532
Project: Beam
Issue Type: Bug
Components: io-java-gcp
Affects Versions: 2.30.0
Reporter: Matthew Ouyang
Assignee: Matthew Ouyang
If a value in a Beam Row is of the SqlTypes.TIME data type, BigQueryUtils uses
`toString()` to print out the time value [1]. `toString()` tries to optimize
the string length by omitting nanoseconds if it is zero, and seconds if it is
also zero [2]. However the BigQuery time type requires seconds to always be
there even if it's zero [3].
[1]
https://github.com/apache/beam/blob/58e2ea9c40fd08e24f23183852970f566b17d6cd/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryUtils.java#L551
[2]
https://docs.oracle.com/javase/8/docs/api/java/time/LocalTime.html#toString--
[3]
https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#time_type
--
This message was sent by Atlassian Jira
(v8.3.4#803005)