Skip to content

Timestamp Returned In Scientific Notation By API Crashes Field Cast #17277

@pkenjora

Description

@pkenjora

Determine this is the right repository

  • I determined this is the correct repository in which to report this bug.

Summary of the issue

Context
Write a timestamp field to the BigQuery API that was written using UnixTime stamp from python.
Then try to load it as an object.

Expected Behavior:
Timestamp comes back without errors.

Actual Behavior:
Getting a TypeError when int tries to parse "1.67899e8".

API client name and version

google-cloud-bigquery

Reproduction steps: code

See: google-cloud-bigquery/google/cloud/bigquery/_helpers.py#L264

Line 264 is: return _datetime_from_microseconds(int(value))

The int cast causes the error when the API returns '1.345345e8', which it does.

Reproduction steps: supporting files

Write a timestamp to bigqurry using time.time()... its accepted.
Load the value back.... causes error.

Reproduction steps: actual results

Reproduction steps: expected results



### OS & version + platform

_No response_

### Python environment

_No response_

### Python dependencies

_No response_

### Additional context

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    triage meI really want to be triaged.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions