- Notifications
You must be signed in to change notification settings - Fork 101
feat(bigtable): Add schema bundle support #2619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
/gcbrun |
* | ||
* @see SchemaBundleType for details. | ||
*/ | ||
public CreateSchemaBundleRequest setProtoSchema(@Nonnull String protoSchemaFile) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it ever valid for a request not to have a protoSchema set? Otherwise we may want to either make it a required argument for creating a CreateSchemaBundleRequest
or validate it before converting it to proto
It also feels like requiring a file path is overly restrictive (what if the file is on gcs / some database / etc). Can we accept a string and provide a utility method to read from a file instead if we think that's important (e.g. setProtoSchemaFromFile(Path file)
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do the same for views and their queries, so I don't think we want to move the protoSchemaFile to the ctor, for consistency.
We could support accept the file contents as byte array, and have the caller get these bytes from anywhere.
/** Gets the schema bundle's id. */ | ||
public String getId() { | ||
// Constructor ensures that name is not null. | ||
SchemaBundleName fullName = SchemaBundleName.parse(proto.getName()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: we can store the parsed SchemaBundleName as an instance member in the constructor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
} | ||
| ||
/** Changes the deletion protection of an existing schema bundle. */ | ||
public UpdateSchemaBundleRequest setProtoSchema(String protoSchemaFile) throws IOException { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment as from CreateSchemaBundleRequest
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same answer :)
🤖 I have created a release *beep* *boop* --- ## [2.62.0](https://togithub.com/googleapis/java-bigtable/compare/v2.61.0...v2.62.0) (2025-07-15) ### Features * Add Idempotency to Cloud Bigtable MutateRowRequest API ([b5acca6](https://togithub.com/googleapis/java-bigtable/commit/b5acca6ac4f1eec420adb27bc77aa1bda0ec2dca)) * Add SchemaBundles API ([b5acca6](https://togithub.com/googleapis/java-bigtable/commit/b5acca6ac4f1eec420adb27bc77aa1bda0ec2dca)) * **bigtable:** Add schema bundle support ([#2619](https://togithub.com/googleapis/java-bigtable/issues/2619)) ([7d7b9a9](https://togithub.com/googleapis/java-bigtable/commit/7d7b9a966d3ef7b7a0ef3f82038ab73f4d791427)) * Next release from main branch is 2.62.0 ([#2621](https://togithub.com/googleapis/java-bigtable/issues/2621)) ([202b211](https://togithub.com/googleapis/java-bigtable/commit/202b21102e71da71ff56f19a12d8a00a59cd8107)) ### Dependencies * Minor cleanup ([#2623](https://togithub.com/googleapis/java-bigtable/issues/2623)) ([7b230e8](https://togithub.com/googleapis/java-bigtable/commit/7b230e86902b5733c06e45fad90da76653ee1096)) * Update shared dependencies ([#2616](https://togithub.com/googleapis/java-bigtable/issues/2616)) ([eb7cfd5](https://togithub.com/googleapis/java-bigtable/commit/eb7cfd526aa999c614b7b8285d32759e2739ff9a)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
* feat(bigtable): Add schema bundle support * minor fix * fix format * add tests * add tests * handled file * added files * fix format * fix files * fix comment * fix * fix test * fix test * fix test * fix more tests * fix more tests * fix more tests * fix more tests * fix more tests * use separate tables for tests * use separate tables for tests * use separate tables for tests * update according to PR * update according to PR * update according to PR * Update UpdateSchemaBundleRequest.java * fix build
🤖 I have created a release *beep* *boop* --- ## [2.62.0](https://togithub.com/googleapis/java-bigtable/compare/v2.61.0...v2.62.0) (2025-07-15) ### Features * Add Idempotency to Cloud Bigtable MutateRowRequest API ([b5acca6](https://togithub.com/googleapis/java-bigtable/commit/b5acca6ac4f1eec420adb27bc77aa1bda0ec2dca)) * Add SchemaBundles API ([b5acca6](https://togithub.com/googleapis/java-bigtable/commit/b5acca6ac4f1eec420adb27bc77aa1bda0ec2dca)) * **bigtable:** Add schema bundle support ([googleapis#2619](https://togithub.com/googleapis/java-bigtable/issues/2619)) ([7d7b9a9](https://togithub.com/googleapis/java-bigtable/commit/7d7b9a966d3ef7b7a0ef3f82038ab73f4d791427)) * Next release from main branch is 2.62.0 ([googleapis#2621](https://togithub.com/googleapis/java-bigtable/issues/2621)) ([202b211](https://togithub.com/googleapis/java-bigtable/commit/202b21102e71da71ff56f19a12d8a00a59cd8107)) ### Dependencies * Minor cleanup ([googleapis#2623](https://togithub.com/googleapis/java-bigtable/issues/2623)) ([7b230e8](https://togithub.com/googleapis/java-bigtable/commit/7b230e86902b5733c06e45fad90da76653ee1096)) * Update shared dependencies ([googleapis#2616](https://togithub.com/googleapis/java-bigtable/issues/2616)) ([eb7cfd5](https://togithub.com/googleapis/java-bigtable/commit/eb7cfd526aa999c614b7b8285d32759e2739ff9a)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #<issue_number_goes_here> ☕️
If you write sample code, please follow the samples format.