Skip to content

Seal v1 (stable)#880

Merged
sgammon merged 134 commits intosgammon:masterfrom
CookiesCo:update/deps-nov-21
Mar 16, 2022
Merged

Seal v1 (stable)#880
sgammon merged 134 commits intosgammon:masterfrom
CookiesCo:update/deps-nov-21

Conversation

@sgammon
Copy link
Copy Markdown
Owner

@sgammon sgammon commented Mar 16, 2022

Finish out V1 support for Elide. V1 will now go into maintenance mode to make way for the refactors involved with V2.

Sam Gammon 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
Sam Gammon and others added 29 commits August 22, 2021 22:59
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
@sgammon sgammon merged commit 8c86272 into sgammon:master Mar 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants