Seal v1 (stable)#880
Merged
sgammon merged 134 commits intosgammon:masterfrom Mar 16, 2022
CookiesCo:update/deps-nov-21
Merged
Conversation
added 30 commits
July 24, 2021 23:14
This changeset introduces support for Google Cloud Spanner in the Elide model layer and ORM. Basic support for reading, writing, transactions, etc., are all planned. This is pretty easy, obviously, since there is already a Firestore adapter to work from. Fixes and closes sgammon/elide#856.
- Generate compliant DDL statements for creating Spanner tables from proto models - Add ability to stub/mock `FieldPointer` objects
- Add `TypeBuffet` to test conversion of different types - Add tests for `SpannerUtil` - Add initial tests for Spanner DDL generator - Uncomment more tests from `GenericPersistenceDriverTests`
- Allow test caching (local only) - Enable other adapter/driver tests
- Fix CSS testing bugs - Re-enable style tests - Add suite targets for DOM/style tests
- Allow drivers to opt-out of tests they don't yet support - Enable all tests across the board
- Add `SpannerDDLTest` - Add `SpannerUtilTest`
- Implement singular delete method - Enable standard driver `delete()` tests
- Enforce `FieldMask` settings for fetched records - Drop superfluous error checking
- Fix bug with `ARRAY` fields missing inner types - Add sensible default for `ENUM` fields implemented as `STRING`
- Enable column sizes for `BYTES` fields - Transition long string comparisons to Truth assertions
- Generate tables for emulated testing - Add method alias to generate DDL statements just from a model instance (with default settings)
Create CNAME Set theme jekyll-theme-cayman
Configure Renovate
This changeset adds support for Spanner's new native JSON columns, which essentially act as strings but with enforced JSON-friendly semantics which improve queryability. Spanner's JSON fields differ from strings in the following ways: - Keys are sorted lexicographically - Whitespace is not preserved - Duplicate keys are elided - Numeric and other primitive types are interpreted natively - JSON `null` is treated as SQL `NON NULL` These columns have advantages for various kinds of JSON document storage based in Spanner. See docs here: - [Spanner: Working with JSON](https://cloud.google.com/spanner/docs/working-with-json) - [Spanner/J: Driver support PR](googleapis/java-spanner#872) Changes enclosed: - Add support to DDL generator for JSON columns - Driver-side experimental flag to enable/disable - Compliant with existing testsuite (fallback to `STRING`) - Tests for tables with JSON columns - Tests for DDL generator with JSON columns enabled
This changeset adds a fix for sgammon/elide#868, wherein default `BOOL` column values should be the `false` value, rather than no value at all. This PR implements the approach described in the issue, gated behind a driver setting. Fixes and closes sgammon/elide#868.
This changeset updates some key dependencies that have issued newer releases since last pin. - [x] Update GAX -> `2.7.0` - [x] Update Google Cloud APIs -> `0.163.0` - [x] Update common protos -> `2.6.0`
- Fallback to `TIMESTAMP` for `DATE` fields that error (seems to be a driver quirk) - Allow decoding spanner `DATE` fields into standard `google.protobuf.Timestamp` types
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Finish out V1 support for Elide. V1 will now go into maintenance mode to make way for the refactors involved with V2.