googleapis / java-bigquery

Apache License 2.0
108 stars 119 forks source link

Analyze and fix timestamp rounding issue #1648

Open stephaniewang526 opened 2 years ago

stephaniewang526 commented 2 years ago

Original ticket

Per Tim's comment, we should consider a more exhaustive approach to fix timestamp rounding issue.

Neenu1995 commented 2 years ago

This fix requires a breaking change. Consider fixing for next major version bump.

nineinchnick commented 7 months ago

Hi, I'm hitting this issue when trying to read the maximum possible timestamp from a BigQuery view. I expect a value of 253402300799.999999, but I'm getting a 253402300800.0. When querying the view in the web console, I'm getting the expected value of 9999-12-31 23:59:59.999999 UTC.

I stumbled on this when working on https://github.com/trinodb/trino/issues/12346

I tried checking how formatOptions could be set, but that field doesn't exist in the QueryRequest model. It is mentioned in the API docs though: https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/query I checked that the models are generated based on API specs generated from the Discovery service. formatOptions field is not present in the Discovery service: https://bigquery.googleapis.com/$discovery/rest?version=v2 This is where I got stuck, I can't figure out if there are any public sources for the Discovery service.

BTW Why this would be a breaking change? Maybe we could somehow expose formatOptions and leave the defaults as is.

wendigo commented 6 months ago

Is anyone working on that?

nineinchnick commented 6 months ago

I just found out there's a public issue tracker, so I reported it there too: https://issuetracker.google.com/u/1/issues/326260769