googleapis / googleapis/google-cloud-python

Investigate if decimal context can be set to match spanner numeric limits

Open
#15,946 1 comment 0 reactions 1 assignee Claimed by @vi3k6i5 View on GitHub
api: spanner priority: p3 type: question
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.