fix(bigquery): roundtrip readonly fields#13370
Conversation
Previously, the bigquery library would return errors if attempts to roundtrip values for readonly fields was attempted. This PR removes that behavior and silently propagates the values, even though we expect the service to ignore them. Related: internal b/460218341
Summary of ChangesHello @shollyman, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request refactors the BigQuery client library to modify how it handles read-only fields within metadata objects. Previously, the library would explicitly return errors if a user attempted to assign a value to a field that is considered read-only by the BigQuery service. This PR changes that behavior to silently propagate these values, aligning with a more robust and forward-compatible approach for the API. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request modifies the BigQuery client library to allow round-tripping of read-only fields for datasets, routines, and tables. Instead of erroring out, these fields are now propagated in the request, which is a sensible change to improve the ergonomics of read-modify-write operations. The implementation is mostly consistent, but I've found one significant issue in routine.go where an assignment is reversed, causing an incorrect side effect. The associated tests have been updated accordingly to reflect the new behavior.
Previously, the bigquery library would return errors if attempts to roundtrip values for readonly fields was attempted. This PR removes that behavior and silently propagates the values, even though we expect the service to ignore them. Related: internal b/460218341
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.8.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/librarian-go@sha256:01189c9771ac4150742aed38eb52e19a008018889066002742034b7f82db070f <details><summary>bigquery: 1.73.0</summary> ## [1.73.0](bigquery/v1.72.0...bigquery/v1.73.0) (2026-02-04) ### Features * add Stored Procedure Sharing support for analyticshub listings (PiperOrigin-RevId: 827828462) ([185951b](185951b3)) * add tags support for Pub/Sub subscriptions (PiperOrigin-RevId: 827828462) ([185951b](185951b3)) * Support picosecond timestamp precision in BigQuery Storage API (PiperOrigin-RevId: 829486853) ([185951b](185951b3)) * add timestamp precision support to schema (#13421) ([52020af](52020af5)) * transition format options (#13422) ([59efe32](59efe323)) ### Bug Fixes * make additional errors retriable: tcp timeout and http2 client connection lost (#13269) ([466d309](466d309d)) * roundtrip readonly fields (#13370) ([9e84705](9e847052)) ### Documentation * change comment indicating `enable_gemini_in_bigquery` field for BigQuery Reservation Assignments is deprecated (PiperOrigin-RevId: 850121797) ([35d7578](35d75787)) </details>
Previously, the bigquery library would return errors if attempts to roundtrip values for readonly fields was attempted. This PR removes that behavior and silently propagates the values, even though we expect the service to ignore them.
Related: internal b/460218341