googleapis / googleapis/google-cloud-python
Investigate if decimal context can be set to match spanner numeric limits
- Dominant language
- Python
- Stars
- 5.4k
- Forks
- 1.8k
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 122
Description
Since decimalField/numeric support was added in googleapis/python-spanner-django#620 some tests were skipped. One of those tests "db_functions.math.test_degrees.DegreesTests.test_decimal", is failing because spanner numeric fields really aren't precise enough. Computed server-side, [spanner's "degrees"](https://github.com/vi3k6i5/python-spanner-django/blob/ce68f3efb1f1cb3b48222ef4cfa0f79312616fa5/django_spanner/functions.py#L185) isn't almostEqual to Decimal(math.degrees(...)). But what if we changed the precision in the [decimal context](https://docs.python.org/3/library/decimal.html#context-objects)?
Investigate if we can change the decimal context, so that the precision in the context matches [spanner's numeric scale limit](https://cloud.google.com/spanner/docs/data-types#numeric_type) before doing any numeric ops.
Contributor guide
Assessment
This issue has not been assessed yet.