feat(spanner): add support for proto bundle DDL statements #1235
+1,353
−130
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.
Adds support for the following DDL statements in Spanner:
CREATE PROTO BUNDLE
ALTER PROTO BUNDLE INSERT
ALTER PROTO BUNDLE UPDATE
In the Spanner API, these DDL statements must be accompanied with a param specifying proto descriptors, so to support this a new
x-proto-descriptors-file
configuration is added, specifying the path to a binary file containing proto descriptors.Unfortunately the spannertest package used for testing the Spanner driver does not yet support proto bundle statements, so I could not write any unit tests, but this was manually tested against Spanner.
The version of
cloud.google.com/go/spanner
had to be bumped so thex-clean-statements
flag could work (otherwise it fails since it doesn't recognize proto bundle DDL statements)