We are pleased to announce a patch release with bug fixes and performance improvements, specifically:
- SQL Alchemy Python library could not parse
SHOW CREATE
statements from Dolt because the datatypes came back upper case (valid SQL, but breaks a hashtable look up in SQL Alchemy metadata parsing) - Fix the
dolt_history_<table>
tables, which had broken commit filtering - fix error when attempting to create a commit with unresolved conflicts still in the working set
Merged PRs
- 799: go/libraries/doltcore/env/actions: commit.go: Error when attempting to create a commit with unresolved conflicts still in the working set.
I realized when working on a blog post thatdolt commit
will currently go ahead and create the merge commit even if there are unstaged conflicts in one of the merged tables. This is not the behavior we want.
Currently, we do not allow staging tables that have conflicts. This change makes it sodolt commit
also fails if there are any conflicts in any of the tables in the working set. - 796: Andy/history table bug
- 795: go/libraries/doltcore/doltdb: Use parentsList in a Commit if it is available.
- 794: uncommenting tests
- 793: Zachmu/analyzer update
Upgraded to latest go-mysql-server, fixed breaking changes from analyzer renamings / signature changes. - 789: schema merge
Foreign Key merge is somewhat incomplete here, hence the skipped BATS. I'm going to implement the FK changes we discussed earlier this week in order to finish FK merge. - 788: Db/fix ci checkfmt
Not really sure what's going on here... I reran you branch, which seems to consistently fail thego/utils/repofmt/checkfmt.sh
... That script usesgoimports
(go install golang.org/x/tools/cmd/goimports
) to check the import order of the file... Not really sure why this works.
Alternative I could separate each script into its ownrun
step in the workflow... - 787: go/store/datas: commit.go: Start storing commit parents as a List instead of a Set.
Commit parent order has meaning in our use case. The branch that gets merged
into is always the first commit in the parents list. Up until this change, the
noms layer stores commit parents as a Set, which is unordered and orders the
parents based on their commit hash.
This changes commit struct to carry both parents Set and parentsList List.
CommitOptions supplies a ParentsList, but both get stored for backwards
compatibility with existing dolt clients.
This change does not include changes to start using the stored parentsList in
things like ancestor traversal ordolt log
. The intended migration is that
the read logic will read fromparentsList
in a commit if it is present, and
will fall back to theparents
Set if it is not.
Eventually we will be able to migrate to not writingparents
Set anymore.
There is no current plan to drop support for readingparents
Set when
parentsList
is not available. - 786: go/libraries/doltcore/doltdb: commit_spec.go: Make CommitSpec internal state unexported.
- 785: go/cmd/dolt/commands: merge.go: Make merge operate on commit specs, not branch refs directly.
- 784: go/cmd/dolt: Change commit spec handling so that abbreviated forms of remotes are supported.
This changesdoltdb.CommitSpec
to carry the original input in therefs
case, instead of trying to add a prefix or anything else. Instead,doltdb.Resolve()
takes the currentHEAD
ref, and fully resolves theCommitSpec
itself.
There was some confusion in usage across the code base withNewCommitSpec
. In particular, there was a lot ofNewCommitSpec("HEAD", "some-branch-name-that-is-not-CWB")
in order to getNewCommitSpec("some-branch-name-that-is-not-CWB", "")
. This collapsed all such uses to the same syntax."HEAD"
is only used for resolving the CWB now.
In places where the CommitSpec was statically known to not beHEAD
, I've not bothered to always thread theCWBRef
to theResolve
call.
This change will breakld
Dolt usage, but I will follow up there when this lands inmaster
. - 782: go/libraries/doltcore/merge: resolve.go: Fix panic when resolve conflicts for a deleted-in-our-branch row.
- 781: Zachmu/show foreign keys
Implemented new foreign key interfaces for go-mysql-server, and upgrade to latest vitess and go-mysql-server - 780: Release
- 145: Zachmu/analyzer scope
Refactoring / renaming, method comments, and new tests related to analyzer deep dive. Added a new Scope param to every analyzer function (not yet used). - 144: Lower-case types in SHOW CREATE TABLE and DESCRIBE TABLE output.
This matches MySQL behavior, and is required by at least one third-party tool (SqlAlchemy) - 143: Zachmu/fk bugfix
Fixed a couple issues in test setup revealed by testing foreign keys with dolt - 142: Formatted the repo
- 141: Zachmu/desc table
Added key info to output of DESCRIBE TABLE / SHOW COLUMNS - 140: Zachmu/show create foreign keys
Support for foreign keys in SHOW CREATE TABLE statements, and engine tests of the same.