Fix job statistics deserialization for cached queries #377
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
QUERY_CACHE_HIT
variant was missing from the IndexUnusedCode enum. This caused deserialization to fail when requesting job details for a query that's been cached by Google Cloud.Additionally, this commit also adds a second variant that was missing from this enum,
STALE_INDEX
. See the Google Cloud docs for reference:https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#Code_1
Note: Adding new enum variants is a breaking change in Rust, but I suspect that Google does not see adding enum variants to their API as such. To mitigate this in the future, I would recommend:
#[non_exhaustive]
,#[serde(other)]
, so that a change in the Google Cloud API does not break existing code.Let me know if you'd like me to help out with that. Ideally these changes should be done all at once as a part of v2.0 to minimize breakage (as tagging a public enum as
#[non_exhaustive]
is a breaking change in itself), and to avoid having to release multiple major versions.