github dolthub/dolt v0.19.0
0.19.0

latest releases: v1.43.15, v1.43.14, v1.43.13...
4 years ago

We are excited to announce the release of a minor version of Dolt, going from 0.18.4 to 0.19.0, prompted by the addition of tags, modeled on Git, and read-tables, a command that provides a form of shallow clone operation that clones only the data at a given commit or branch on a remote.

Tags

We are excited about Dolt as a data distribution format, and we want to provide tools for folks distributing data to robustly version their releases. Tags enable data publishers to signal discrete data releases to their users. Users can diff between two tags to compare changes.

dolt read-tables

In discussions with some of our users we found that they were excited about using Dolt as a format for collaborating on data, but needed to then use that data in automated settings where it would be unacceptable to clone the whole history on every clone, for example ephemeral compute resources that use the data for automated jobs. We provided read-tables as a way to obtain the Dolt database at a given commit, or branch.

Other

As usual we include in this release bug fixes and performance improvements. In this release we particularly emphasized fixes to go-mysql-server that is becoming an increasingly important interface for many of our users.

Merged PRs

  • 858: Push/Pull Tags
  • 851: tag redesign
  • 850: Db/containerize mysql test env
  • 849: /mysql-client-tests/{node/, MySQLDockerfile}: POC dockerizing test env
    so the docker container seems to work with the following changes... my JS/Node is kinda wack these days too...
    so this can run like this:
    $ cd mysql-client-tests
    $ docker build -t mysql-tests -f MySQLDockerfile .
    $ docker run -it --rm mysql-tests:latest /bin/bash
    root@e1fbe3c4579f:/mysql-client-tests# bats mysql-client-tests.bats
    ✓ python mysql.connector client
    ✓ python pymysql client
    ✓ mysql-connector-java client
    ✓ node mysql client
    4 tests, 0 failures
    root@e1fbe3c4579f:/mysql-client-tests# exit
    
  • 848: MySQL Client Tests
    This PR will contain the MySQL client tests in each language. I've chosen BATS as the framework to drive the testing because I'm familiar with it. We can swap that out if necessary.
  • 847: add ReadAheadTableReader.go
    The pipeline framework already handles this, but when reading outside a pipeline it can have performance benefit to having a go routine reading the data than the go routine that is processing it.
  • 844: go 1.15 fixes
  • 843: partitioning of dolt tables
  • 842: Tie Dolt commit struct fields to Noms commit struct fields
    As far as I can tell, the constants in doltdb/Commit.go only work because they match the constants here
    Also, there is currently a mismatch between doltdb.parentListField and datas.ParentListField which should cause the list of parents to never be found
  • 841: parallelism
  • 840: query differ patch
  • 839: Bug fix for reverse sequence cursor.
    Not sufficient to just mark a cursor reverse after the fact, need to initialize cursors at all levels of the tree as reverse as well. Still needs tests, but fixes panics in sqllogictest.
  • 162: Changed the test data for one_pk, two_pk to be able to differentiate …
    …between the various columns. This gives us more confidence that we're choosing the right field index in subqueries.

Don't miss a new dolt release

NewReleases is sending notifications on new releases.