dnwpark
dnwpark
Allow '|' and '&' in intersections. Examples using the advanced types database: ``` { _localdev:advancedtypes> select Ba[is Bb | Bc]; default::CBaBc {id: 90e5466b-f69e-11ee-9882-db9098d38acf}, default::CBaBc {id: 90e5466c-f69e-11ee-9882-9b06405472f4}, default::CBaBbBc {id: 9234cc50-f69e-11ee-9882-7bef563d5961}, default::CBaBbBc...
Given the schema: ``` function my_check(val: str) -> bool { using ( contains(val,'a') ); } abstract constraint bad_constraint(blah: str) { using (my_check(blah)); } ``` The following error is produced: ```...
Given a string property: Insert with `:=?` operator does the following: |default|compexpr|assigned| |-|-|-| |`'foo'`|`bar`|`bar`| |`'foo'`|`{}`|`foo`| |`{}`|`bar`|`bar`| |`{}`|`{}`|`{}`| |no default|`bar`|`bar`| |no default|`{}`|`{}`| Update with `:=?` operator does the following: |existing|compexpr|assigned| |-|-|-|...
Remove special intersection behaviour and resolve all type expressions to produce a non-overlapping union of types. This will be helpful when implementing type expressions. Currently, it's really only possible to...
When compiling pointers in a mutating statement (ie. insert and update), a type hint is provided so that empty sets and arrays can be meaningfully interpreted. This PR fixes the...
Given the schema: ``` type MyType { parent: MyType; is_initial := .parent is null; } ``` A nicer error is produced: ``` error: type 'default::null' does not exist │ 6...
- Catches aggregate calls in constraints and indexes earlier in the compilation process - Raises errors in migration create which were previously only caught on migrate - Fixes abstract constraints...
Just a bit of light tidying.
If a type has children and the compiler is not using EXPLAIN, use a CTE instead of the current inheritance views. For example, given `type Foo {foo -> int64}` and...