googleapis / googleapis/google-cloud-python

Timestamp Returned In Scientific Notation By API Crashes Field Cast

Ouverte
#17,277 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
api: bigquery priority: p2 type: bug
Langage dominant
Python
Étoiles
5.4k
Forks
1.8k
Merge moyen
3 j 4 h
PR mergées (30 j)
122

Description

### Determine this is the right repository

- [x] 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](https://github.com/googleapis/google-cloud-python/blob/main/packages/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_

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.