Skip to content

Commit fc08533

Browse files
committed
use enum for timestamp_precision
1 parent c146e39 commit fc08533

File tree

3 files changed

+152
-13
lines changed

3 files changed

+152
-13
lines changed

google/cloud/bigquery/enums.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,3 +480,18 @@ class SourceColumnMatch(str, enum.Enum):
480480
NAME = "NAME"
481481
"""Matches by name. This reads the header row as column names and reorders
482482
columns to match the field names in the schema."""
483+
484+
485+
class TimestampPrecision(enum.Enum):
486+
"""Precision (maximum number of total digits in base 10) for seconds of
487+
TIMESTAMP type."""
488+
489+
MICROSECOND = None
490+
"""
491+
Default, for TIMESTAMP type with microsecond precision.
492+
"""
493+
494+
PICOSECOND = 12
495+
"""
496+
For TIMESTAMP type with picosecond precision.
497+
"""

google/cloud/bigquery/schema.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -197,15 +197,13 @@ class SchemaField(object):
197197
Only valid for top-level schema fields (not nested fields).
198198
If the type is FOREIGN, this field is required.
199199
200-
timestamp_precision: Optional[int]
200+
timestamp_precision: Union[enums.TimestampPrecision, int, None]
201201
Precision (maximum number of total digits in base 10) for seconds
202202
of TIMESTAMP type.
203203
204-
Possible values include:
205-
206-
- None (Default, for TIMESTAMP type with microsecond precision)
207-
208-
- 12 (For TIMESTAMP type with picosecond precision)
204+
Defaults to `enums.TimestampPrecision.MICROSECOND` (`None`) for
205+
microsecond precision. Use `enums.TimestampPrecision.PICOSECOND`
206+
(`12`) for picosecond precision.
209207
"""
210208

211209
def __init__(
@@ -389,14 +387,12 @@ def policy_tags(self):
389387

390388
@property
391389
def timestamp_precision(self):
392-
"""Precision (maximum number of total digits in base 10) for seconds of
393-
TIMESTAMP type.
394-
395-
Possible values include:
396-
397-
- None (Default, for TIMESTAMP type with microsecond precision)
390+
"""Union[enums.TimestampPrecision, int, None]: Precision (maximum number
391+
of total digits in base 10) for seconds of TIMESTAMP type.
398392
399-
- 12 (For TIMESTAMP type with picosecond precision)
393+
Defaults to `enums.TimestampPrecision.MICROSECOND` (`None`) for
394+
microsecond precision. Use `enums.TimestampPrecision.PICOSECOND` (`12`)
395+
for picosecond precision.
400396
"""
401397
return _helpers._int_or_none(self._properties.get("timestampPrecision"))
402398

timeout_value_2.txt

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
timeout: 1, deadline: 978355.762395545, next_sleep: 0.8387038236498067, exc:
2+
timeout: 0.1, deadline: 978355.7105118759, next_sleep: 0.00027264356095121965, exc: 404 not normally retriable
3+
timeout: 0.1, deadline: 978355.7112843869, next_sleep: 0.0005221385459112642, exc: 404 not normally retriable
4+
timeout: 120.0, deadline: 978475.969267207, next_sleep: 0.7932984313855296, exc: 429 retriable exception
5+
timeout: 0.1, deadline: 978357.982180721, next_sleep: 0.0006448068700835767, exc: 404 not normally retriable
6+
timeout: 0.1, deadline: 978357.983290251, next_sleep: 0.0009674171869215179, exc: 404 not normally retriable
7+
timeout: 0.1, deadline: 978357.984610041, next_sleep: 0.00032156163308249565, exc: 404 not normally retriable
8+
timeout: 0.1, deadline: 978357.9852889209, next_sleep: 0.0006800204055350386, exc: 404 not normally retriable
9+
timeout: 0.1, deadline: 978357.986294671, next_sleep: 0.0008018167599456671, exc: 404 not normally retriable
10+
timeout: 0.1, deadline: 978357.987476401, next_sleep: 0.0009311538867737943, exc: 404 not normally retriable
11+
timeout: 200.0, deadline: 1765230971.410979, next_sleep: 0.8314432558305912, exc: 502 retry me
12+
timeout: 600.0, deadline: 1765231271.410979, next_sleep: 0.5105814189614761, exc: 500 job_retry me
13+
timeout: 200.0, deadline: 1765231271.410979, next_sleep: 0.5603073877844243, exc: 502 retry me
14+
timeout: 200.0, deadline: 1765230973.336951, next_sleep: 0.4857907625648802, exc: 502 retry me
15+
timeout: 400.0, deadline: 1765231073.336951, next_sleep: 0.4899948554904009, exc: 500 job_retry me
16+
timeout: 200.0, deadline: 1765231273.336951, next_sleep: 0.84194091877862, exc: 502 retry me
17+
timeout: 1, deadline: 978366.098796235, next_sleep: 0.32226121592037205, exc:
18+
timeout: 1, deadline: 978366.423546346, next_sleep: 0.8499486419579728, exc:
19+
timeout: 1, deadline: 978367.434991377, next_sleep: 0.3836059281992953, exc: 403
20+
timeout: 600.0, deadline: 978967.151953309, next_sleep: 0.5414093753904822, exc: None
21+
timeout: 2400.0, deadline: 980768.947447572, next_sleep: 0.6292297054830006, exc: 500 first try
22+
timeout: 1, deadline: 978370.675553254, next_sleep: 0.28618424769449136, exc:
23+
timeout: 1, deadline: 978370.964251014, next_sleep: 0.4420708319625928, exc:
24+
timeout: 200.0, deadline: 978570.414356535, next_sleep: 0.6529561134170622, exc: 429 this is retriable by default
25+
timeout: 200.0, deadline: 978570.414356535, next_sleep: 0.7171308816872937, exc: 404 we lost your job
26+
timeout: 200.0, deadline: 978570.414356535, next_sleep: 2.5594975651343663, exc: 404 we lost your job again, sorry
27+
timeout: 600.0, deadline: 1735690200.0, next_sleep: 0.13071235830082906, exc: Timeout of 1.0s exceeded, last exception: 404 we lost your job again, sorry
28+
timeout: 200.0, deadline: 978574.510162103, next_sleep: 0.36823427621471116, exc: 500 get job failed
29+
timeout: 2400.0, deadline: 980780.340589964, next_sleep: 0.09143499366790109, exc: 429 ; reason: rateLimitExceeded
30+
timeout: 2400.0, deadline: 980780.340589964, next_sleep: 0.2704121721587227, exc: 429 ; reason: rateLimitExceeded
31+
timeout: 2400.0, deadline: 980780.340589964, next_sleep: 2.5408614910246823, exc: 429 ; reason: rateLimitExceeded
32+
timeout: 120.0, deadline: 978500.354624824, next_sleep: 0.6668468464990291, exc: 404 ; reason: notFound
33+
timeout: 120.0, deadline: 978500.354624824, next_sleep: 0.4483941657220438, exc: 404 ; reason: notFound
34+
timeout: 120.0, deadline: 978500.354624824, next_sleep: 3.474247648759312, exc: 404 ; reason: notFound
35+
timeout: 120.0, deadline: 978500.367416034, next_sleep: 0.7838332629184905, exc: 404 ; reason: notFound
36+
timeout: 120.0, deadline: 978500.367416034, next_sleep: 0.0483348255406868, exc: 404 ; reason: notFound
37+
timeout: 120.0, deadline: 978500.367416034, next_sleep: 1.81585407781535, exc: 404 ; reason: notFound
38+
timeout: 120.0, deadline: 978500.380200564, next_sleep: 0.4542454333228608, exc: 404 ; reason: notFound
39+
timeout: 120.0, deadline: 978500.380200564, next_sleep: 0.8572586031169229, exc: 404 ; reason: notFound
40+
timeout: 120.0, deadline: 978500.380200564, next_sleep: 3.4443489441828774, exc: 404 ; reason: notFound
41+
timeout: 600.0, deadline: 1704069004.0, next_sleep: 0.6681220723303167, exc:
42+
timeout: 2400.0, deadline: 1704070202.0, next_sleep: 0.38587841208832285, exc: Timeout of 600.0s exceeded, last exception:
43+
timeout: 600.0, deadline: 1765232496.338881, next_sleep: 0.45277264118720517, exc: 500 Job failed just because...
44+
timeout: 2400.0, deadline: 1765233694.338881, next_sleep: 0.16416303634366414, exc: Timeout of 600.0s exceeded, last exception: 500 Job failed just because...
45+
timeout: 2400.0, deadline: 1765233694.338881, next_sleep: 0.6190694710580775, exc: 500
46+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 0.5702043720061895, exc: 429 ; reason: rateLimitExceeded
47+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 1.7841078387837406, exc: 429 ; reason: rateLimitExceeded
48+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 2.832865470870173, exc: 429 ; reason: rateLimitExceeded
49+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 5.057365346584958, exc: 429 ; reason: rateLimitExceeded
50+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 4.407732102407159, exc: 429 ; reason: rateLimitExceeded
51+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 7.107147395368749, exc: 429 ; reason: rateLimitExceeded
52+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 52.014271271999206, exc: 429 ; reason: rateLimitExceeded
53+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 56.793332831654865, exc: 429 ; reason: rateLimitExceeded
54+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 57.438834165382055, exc: 429 ; reason: rateLimitExceeded
55+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 22.61611471989796, exc: 429 ; reason: rateLimitExceeded
56+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 42.19167925076571, exc: 429 ; reason: rateLimitExceeded
57+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 33.63920826261272, exc: 429 ; reason: rateLimitExceeded
58+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 16.096826961197213, exc: 429 ; reason: rateLimitExceeded
59+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 18.2617548205308, exc: 429 ; reason: rateLimitExceeded
60+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 16.15168873734663, exc: 429 ; reason: rateLimitExceeded
61+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 1.0150750159006394, exc: 429 ; reason: rateLimitExceeded
62+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 6.512429543279927, exc: 429 ; reason: rateLimitExceeded
63+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 50.90609063000533, exc: 429 ; reason: rateLimitExceeded
64+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 7.340511726154881, exc: 429 ; reason: rateLimitExceeded
65+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 58.52049711777617, exc: 429 ; reason: rateLimitExceeded
66+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 43.981235964136175, exc: 429 ; reason: rateLimitExceeded
67+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 56.40664859541352, exc: 429 ; reason: rateLimitExceeded
68+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 28.627186704881225, exc: 429 ; reason: rateLimitExceeded
69+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 45.75155591404954, exc: 429 ; reason: rateLimitExceeded
70+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 19.63472010240566, exc: 429 ; reason: rateLimitExceeded
71+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 52.28741011732236, exc: 429 ; reason: rateLimitExceeded
72+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 31.320218874737044, exc: 429 ; reason: rateLimitExceeded
73+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 52.130539652296605, exc: 429 ; reason: rateLimitExceeded
74+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 31.512008734105173, exc: 429 ; reason: rateLimitExceeded
75+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 55.037713367049015, exc: 429 ; reason: rateLimitExceeded
76+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 51.03287372330287, exc: 429 ; reason: rateLimitExceeded
77+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 44.79625136820908, exc: 429 ; reason: rateLimitExceeded
78+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 19.10881845743206, exc: 429 ; reason: rateLimitExceeded
79+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 55.13801940498344, exc: 429 ; reason: rateLimitExceeded
80+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 3.8887774173749, exc: 429 ; reason: rateLimitExceeded
81+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 51.398882099725824, exc: 429 ; reason: rateLimitExceeded
82+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 51.01142692789878, exc: 429 ; reason: rateLimitExceeded
83+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 23.595159319953243, exc: 429 ; reason: rateLimitExceeded
84+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 26.047665816356226, exc: 429 ; reason: rateLimitExceeded
85+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 49.306770881216835, exc: 429 ; reason: rateLimitExceeded
86+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 25.1846112406392, exc: 429 ; reason: rateLimitExceeded
87+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 45.055834473562356, exc: 429 ; reason: rateLimitExceeded
88+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 17.883118716785585, exc: 429 ; reason: rateLimitExceeded
89+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 11.896556313416141, exc: 429 ; reason: rateLimitExceeded
90+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 40.34191107753058, exc: 429 ; reason: rateLimitExceeded
91+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 48.24534707391338, exc: 429 ; reason: rateLimitExceeded
92+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 18.904896450063703, exc: 429 ; reason: rateLimitExceeded
93+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 26.008314274214626, exc: 429 ; reason: rateLimitExceeded
94+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 13.176187276969207, exc: 429 ; reason: rateLimitExceeded
95+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 7.3761482151139095, exc: 429 ; reason: rateLimitExceeded
96+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 54.69229790318889, exc: 429 ; reason: rateLimitExceeded
97+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 54.05171795192, exc: 429 ; reason: rateLimitExceeded
98+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 45.32685064128777, exc: 429 ; reason: rateLimitExceeded
99+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 14.353633598756772, exc: 429 ; reason: rateLimitExceeded
100+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 7.98453577041105, exc: 429 ; reason: rateLimitExceeded
101+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 53.459155430349334, exc: 429 ; reason: rateLimitExceeded
102+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 20.287295620145734, exc: 429 ; reason: rateLimitExceeded
103+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 34.43598073347521, exc: 429 ; reason: rateLimitExceeded
104+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 6.522487221283226, exc: 429 ; reason: rateLimitExceeded
105+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 54.07790146595999, exc: 429 ; reason: rateLimitExceeded
106+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 59.156002169545, exc: 429 ; reason: rateLimitExceeded
107+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 23.340948639587165, exc: 429 ; reason: rateLimitExceeded
108+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 59.330803756151575, exc: 429 ; reason: rateLimitExceeded
109+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 58.87002561303058, exc: 429 ; reason: rateLimitExceeded
110+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 31.4282125155591, exc: 429 ; reason: rateLimitExceeded
111+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 41.0987742268019, exc: 429 ; reason: rateLimitExceeded
112+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 57.104824622740395, exc: 429 ; reason: rateLimitExceeded
113+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 29.1136608417132, exc: 429 ; reason: rateLimitExceeded
114+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 47.41112072816565, exc: 429 ; reason: rateLimitExceeded
115+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 57.328008095558715, exc: 429 ; reason: rateLimitExceeded
116+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 51.70080769914592, exc: 429 ; reason: rateLimitExceeded
117+
timeout: 2400.0, deadline: 1704069600.0, next_sleep: 30.297137368813033, exc: 429 ; reason: rateLimitExceeded
118+
timeout: 2400.0, deadline: 1704071998.716728, next_sleep: 0.20143152103008766, exc: 429 ; reason: rateLimitExceeded
119+
timeout: 2400.0, deadline: 1704071998.716728, next_sleep: 1.3083122545651673, exc: 500 ; reason: backendError
120+
timeout: 2400.0, deadline: 1704071998.716728, next_sleep: 0.591697258360937, exc: 429 ; reason: rateLimitExceeded
121+
timeout: 2400.0, deadline: 1704071998.716728, next_sleep: 5.714972037288209, exc: 500 ; reason: backendError
122+
timeout: 2400.0, deadline: 980782.802375289, next_sleep: 0.4004304538795789, exc: 500 job_retry me
123+
124+
Location: response-location
125+
Job ID: abc
126+
127+
timeout: 600.0, deadline: 978983.21294691, next_sleep: 0.5048321061993695, exc: 503 retry me
128+
timeout: 10.0, deadline: 978393.726221531, next_sleep: 0.14514349787731606, exc: 503 retry me

0 commit comments

Comments
 (0)