This is a feature release, adding initial support for spatial types. Read more here:
https://www.dolthub.com/blog/2022-02-09-spatial-types/
Also newly supported are recursive common table expressions (WITH RECURISVE
).
This release also addresses a number of bugs:
- dolt incorrectly dropped a not null constraint when dropping a primary key
- Several DDL statements now work with no current database selected
- Bug fix in
JSON_CONTAINS
- Bug fix for
NOT BETWEEN
expressions
Merged PRs
dolt
- 2747: Update README to mention DoltLab
- 2746: libraries/doltcore/table/editor: fix dropped test errors
This fixes two dropped testerr
variables inlibraries/doltcore/table/editor
. - 2745: Retain not null constraint on primary key columns when dropping primary key
- Fixes adding primary keys using db.table syntax and unskipped bats test for it
- Fixes issue of making all columns NOT NULL when adding pk with alter table
(With the above issue, dropping pk bats test was not catching retaining of null constraint) - Fixes retaining NOT NULL constraint when dropping pk with alter table
- 2743: /go/store/prolly: flatbuffers-based prolly tree
- replaces
Node
with flatbuffers-basedmapNode
- temporarily removes map-count accounting from
Map
- replaces
- 2741: go/go.mod: Bump gopsutil. Gets rid of deprecated warning on macOS.
- 2737: /go.mod: run go mod tidy
- 2736: Skipped bats test for alter table db.table add primary key
- 2733: manually go get gms main
- 2728: Fixing BATS test for table check constraint validation errors
- 2718: prevent creating and altering table with spatial types as primary key
- 2716: go/store/prolly: Prefix Range Scans for Prolly Trees
Expands range-scan functionality for pkgprolly
to include ranges defined on a prefix of key fields. This is necessary to support partial indexes and secondary index in Dolt. Various refactors were made to support this change:- removed support for "reverse" ranges, which aren't used anywhere
- refactored range iters for
prolly.Map
to use anodeCursor
to track the end of the range
- 2715: go/store/datas: Decouple pull/push/clone from store/types, and move it into its own package.
- 2714: BATS tests for Spatial Types
- 2710: remove stmt conversion
- 2702: Correct ff/no-ff functionality for Dolt_Merge() and add tests for DOLT_MERGE when autocommit is off
go-mysql-server
- 784: fix alter table add pk
Added case for getting non current database name in transaction for AlterPk - 783: recursive CTEs
RecursiveCte node impl with tests for joins, group by, and subquery
aliasing.
RecursiveCte's are not supported in DML statements. Nested recursive
CTE's and nested subqueries are not supported yet. Aliasing is not
neatly split down the middle on either side for RCte unions; only the
dual table can have alias clashes on either side of the CTE for now.
Cyclical recursion will timeout at depth 20. This will likely need a
rewrite with better global aliasing to support infinitely nestable
RecursiveCte's.
Indexed table lookups are not applied to RecursiveCte tables currently
because of a bug in the memory impl. - 781: Expose Typ field in sql.RangeColumnExpr
- 780: Expose enginetest.CreateIndex() for testing
- 779: fix json_contains error handling
Fixed tests for "Fix JSON Extract on struct" PR - 778: Properly implemented SHOW GRANTS and SHOW PRIVILEGES
SHOW GRANTS
was a shell that always returned the same result, and it has now been properly implemented (withoutUSING
since active roles aren't in yet). Also addedSHOW PRIVILEGES
. - 777: Add PeerGrouper, simplify count and rank window funcs.
Count has a default range framer now, matching MySQL and
Postgres's behavior. Move custom peer grouping logic into
a formal framer to simplify ranking agg functions, which
should simplify other rank funcs in the future. - 775: add groupby column check
Any alias column that is non alias table column will not have table name assigned. - 774: Prevent invalidating table check constraints when altering table schema
Updated logic for dropping and renaming columns to ensure that no table checks are referenced.
Further improvements should eventually be made to ensure that table check constraints aren't modified by other schema alterations, such as modifying a column's type. - 773: Added roles, revoking, and dropping users and roles
This adds roles, along with implementing the accompanying statements and functionality. In addition, we may now revoke privileges and roles, and also drop users and roles. - 772:
ST_LATITUDE
andST_LONGITUDE
functions - 771: RANGE window framing with rangeFrameBase
Support RANGE window frames, adds unit tests for framing
and enginetests for queries.
Count needs to be rewritten to support RANGES. Better validation
for range expression/bound matching would be helpful. - 770: fix not between function and or logics
Fixed handling NOT BETWEEN function was incorrect
Added missing logic for OR operator - 761:
ST_SWAPXY
function - 760:
ST_DIMENSION
function
TODO: missing cases for multi geometry types
vitess
Closed Issues
- 2683: [Request] Bring back JSON/ add YAML schema export
- 2713: dolt push: invalid or corrupt table file
- 2705: Strange behavior of DOLT_MERGE()
- 2679: SQL commit should not be required after a fast forward dolt_merge() with autocommit off
- 2711: [Feature Request] Oh my Zsh support for local dolt folders