github dolthub/dolt v0.18.1
0.18.1

latest releases: v1.43.1, v1.43.0, v1.42.20...
4 years ago

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 that dolt 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 so dolt 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 the go/utils/repofmt/checkfmt.sh... That script uses goimports (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 own run 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 or dolt log. The intended migration is that
    the read logic will read from parentsList in a commit if it is present, and
    will fall back to the parents Set if it is not.
    Eventually we will be able to migrate to not writing parents Set anymore.
    There is no current plan to drop support for reading parents 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 changes doltdb.CommitSpec to carry the original input in the refs case, instead of trying to add a prefix or anything else. Instead, doltdb.Resolve() takes the current HEAD ref, and fully resolves the CommitSpec itself.
    There was some confusion in usage across the code base with NewCommitSpec. In particular, there was a lot of NewCommitSpec("HEAD", "some-branch-name-that-is-not-CWB") in order to get NewCommitSpec("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 be HEAD, I've not bothered to always thread the CWBRef to the Resolve call.
    This change will break ld Dolt usage, but I will follow up there when this lands in master.
  • 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.

Don't miss a new dolt release

NewReleases is sending notifications on new releases.