0.10.0
We are excited to announce the latest release of Dolt, which includes a new feature, substantial improvements to existing features, and a new Windows installer.
Dolt Blame
Dolt now has a blame
command, which provides row audit functionality familiar to Git users. (Blame for individual cells is in the works.) We have a deep dive on the implementation of dolt blame on our blog, so definitely check that out if you're interested.
One of the long-term goals of Dolt is to provide a database with fine-grained audit capabilities to support hygienic management of valuable human-scale data, and this feature is a huge step towards realizing that vision.
SQL Enhancements
One of our major goals for the product is full SQL compliance; this release contains steps towards achieving that. In particular, the following commands are now supported:
CREATE TABLE
DROP TABLE
INSERT VALUES
&INSERT SET
(noIGNORE
orON DUPLICATE KEY UPDATE
support yet, also noINSERT SELECT
support yet)UPDATE
(Single table, noIGNORE
support yet)REPLACE VALUES
andREPLACE SET
(noREPLACE SELECT
support yet)
As well as making progress against our goal of full compliance, we also created a test suite that will help validate our SQL implementation. Check out the test suite and harness, and the related blog post. This is an important step in creating a fully transparent mechanism for our progress against our compliance goal.
We also fixed some bugs and made some performance improvements.
Schema Import
We now support schema inference from a CSV file. This is a convenience function to make importing a CSV with a correct schema easier. The command is best understood by looking at the help
details:
$ dolt schema import --help
NAME
dolt schema import - Creates a new table with an inferred schema.
SYNOPSIS
dolt schema import [--create|--replace] [--force] [--dry-run] [--lower|--upper] [--keep-types] [--file-type <type>] [--float-threshold] [--map <mapping-file>] [--delim <delimiter>]--pks <field>,... <table> <file>
Windows Installer Packages
We now provide both 32- and 64-bit MSI packages for easy installation of Dolt on Windows. These may be used instead of manually extracting the archives (which are now provided in .zip
format instead of .tar.gz
). Please let us know if you encounter any issues.
Other
Various bug fixes and enhancements, and also improvements to dolt clone
which had a problematic race condition.
As always, bug reports, feedback, and feature requests are very much appreciated. We hope you enjoy using Dolt!
Merged PRs
- 175: {bats, go}: Make commit spec truly optional in blame
$ dolt blame lunch-places +--------------------+----------------------------------------------------+-----------------+------------------------------+----------------------------------+ | NAME | COMMIT MSG | AUTHOR | TIME | COMMIT | +--------------------+----------------------------------------------------+-----------------+------------------------------+----------------------------------+ | Boa | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Chipotle | lunch-places: Added Chipotle | katie mcculloch | Thu Aug 29 11:38:00 PDT 2019 | m2jbro89ou8g6rv71rs7q9f3jsmjuk1d | | Sidecar | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Wendy's | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Bangkok West Thai | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Jamba Juice | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Kazu Nori | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | McDonald's | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Sunnin | change rating | bheni | Thu Apr 4 15:43:00 PDT 2019 | 137qgvrsve1u458briekqar5f7iiqq2j | | Bruxie | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Espresso Cielo | added Espresso Cielo | Matt Jesuele | Wed Jul 10 12:20:39 PDT 2019 | 314hls5ncucpol2qfdphf923s21luk16 | | Seasalt Fish Grill | fixed ratings | bheni | Thu Apr 4 14:07:36 PDT 2019 | rqpd7ga1nic3jmc54h44qa05i8124vsp | | Starbucks | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Tocaya | update tocaya rating | bheni | Thu Jun 6 17:22:24 PDT 2019 | qi331vjgoavqpi5am334cji1gmhlkdv5 | | Sake House | fixed ratings | bheni | Thu Apr 4 14:07:36 PDT 2019 | rqpd7ga1nic3jmc54h44qa05i8124vsp | | Swingers | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Art's Table | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Bay Cities | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Benny's Tacos | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Bibibop | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Curious Palate | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | | Meat on Ocean | Had an unhandled schema merge conflict which I ch… | Tim Sehn | Fri Mar 22 12:21:59 PDT 2019 | ffabndafbp64r393ttghused8siip77j | +--------------------+----------------------------------------------------+-----------------+------------------------------+----------------------------------+
- 174: Update dolt blame description
- 170: Skipping the right SQL test that has a hanging race condition (joins …
…on legacy engine, code to be deleted soon) - 168: Bh/correctness fixes
- 166: clone bug fix
- 165: README.md: Remove Tim's username from shell prompt
- 161: Zachmu/sql logictest
Improved main method for running or parsing sqllogic tests. - 160: Bh/upload error checking
- 159: Zachmu/sql logictest
Removed code for sqllogic test and took a dependency on the new module instead. - 158: Disabling sql server tests on linux, since they appear to be hanging …
…waiting for the server to start - 157: Basic dolt blame
This still needs some more BATS tests and maybe some UI touches like what @Hydrocharged suggested, but overall I think it's ready for some eyes.
The biggest thing I don't like is the logic surrounding pretty-printing of primary keys (you'll see why) but please do tell me if you notice other things that are janky.
In general, feedback and suggestions are very welcome. - 156: Bh/schema import
- 155: Zachmu/sql logictest
Implementation of sqllogictest for dolt on go-mysql-server. After getting this merged, I plan to fork off the non-dolt portions to a separate repo. - 154: Bumping dependency of go-mysql-server to head of ld-master branch. Al…
…so fixing several issues that come up when doing so. - 152: go/store/nbs: Add recover in table_set Rebase goroutines. (Saw a SIGSEGV which crashed doltremoteapi).
- 148: Added new InlineBlob type
This turned out to be far smaller than I thought as far as changes go. Thistypes
change might be simpler than I first thought! I probably felt it was harder just because finding all of these locations was a major pain... - 146: proto/dolt/services/eventsapi: Adopt the version of eventsapi that lives in ld repo instead of here.
- 145: Update README.md
- 144: Miscellaneous small changes
Just some small stuff I cherry-picked out of the dolt blame PR I'm gonna drop tomorrow. In particular, I usegetCommitSpec
in that. - 142: fixes batch building issue
- 140: go/libraries/doltcore/doltdb/doltdb.go: Change initial commit message to imperative tense
This is the style recommended for contributions to Git itself and used by GitHub by default:
- 137: Added skipped bats test for the non-existant primary key bug
- 135: fix tag number on pb remote_url_scheme
- 134: Changed IsValidTableName to allow single character table names, added…
… tests - 132: updated schema command text
- 131: bats: Factor setup and teardown logic out of tests, greatly reducing duplication
This has been bothering me for a while. - 130: fix active remote url to only save the url scheme
- 129: Batch inserts handle backslashes better
Added a new bats test to demonstrate, but originally the function didn't handle\\''
properly, and now it does. Had to add 4 backslashes on the test because bash does its own escaping before passing it to dolt. - 128: bh/schema sub commands
This is a refactor of the existing dolt schema functionality. Previously dolt schema had many different ways it could be run:These have all been split into separate commands:"[<commit>] [<table>...]", "--export <table> <file>", "--add-column [--default <default_value>] [--not-null] [--tag <tag-number>] <table> <name> <type>", "--rename-column <table> <old> <new>", "--drop-column <table> <column>",
dolt schema show
dolt schema export
dolt schema add-column
dolt schema rename-column
dolt schema drop-column - 127: Increased the length of the buffer to read from STDIN for SQL stateme…
…nts.
My first Golang code. - 126: Fixed not returning error on invalid batch inserts
Fixes Bats test as introduced in: #125 - 125: Added skipped bats test for sql shell continuing after bad statement …
…and not exiting 0 - 124: Added skipped bats test for piped sql
- 123: Fix cell count function for diff summary cells modified
- 122: Fixed SQL batch insert breaking on semicolons in strings
Fixes SQL bug as found in new Bats test introduced here: #124 - 118: README.md: Minor updates
- 117: Bh/diff summary opt
Closed Issues
- 120: Semicolon bug in piped sql