github dolthub/dolt v0.26.0
0.26.0

latest releases: v1.41.1, v1.41.0, v1.40.3...
3 years ago

This release adds support for the CHECK constraint, and includes various bug fixes and performance improvements.

Databases written by this release of Dolt cannot be read by earlier versions. Earlier versions must upgrade to at least this version. This is a failsafe mechanism to prevent loss of schema information on write caused by earlier Dolt versions not understanding how to persist newer schema constructs (CHECK constraints in this case).

Merged PRs

  • 1541: /integration-tests/compatibility: Split Compatibility tests into forward and backward
  • 1540: Fixed TINYBLOB errors with specific inputs
    Similar to #1528, except dealing with the kind. Still surprised this was not caught earlier, seems like it should be completely broken. Some test repos have had thousands of rows with a BLOB-type column and they all worked without issue.
  • 1538: Fixed UNIQUE index violations causing duplicate key errors
  • 1537: Support for CHECK constraints
    This is missing:
    1. Bats tests
    2. Feature version bump
  • 1536: libraries/doltcore/tables: fix two subpackage dropped errors
  • 1534: /go/libraries/doltcore/sqle: Fix SELECT INTO ... bug for AUTO_INCREMENT columns
    Fixes: #1491
  • 1533: replace io.Copy to improve clone perf
    Fixes #1530 by replacing a call to io.Copy with a new function writeTo. Existing reader implementation replaces read calls to HTTP requests and larger read sizes here has a very big impact on Perf.
    takes gcs clone of 600MB repo from
    real    28m2.168s
    user    0m21.606s
    sys     0m15.104s
    
    to
    real  0m17.885s
    user  0m1.607s
    sys   0m2.443s
    
    has similar performance improvements for AWS repos and has small Dolthub clone perf improvements.
  • 1532: couple changes for aws errors
  • 1531: go/go.mod: Bump go-mysql-server.
  • 1528: Fixed some VARBINARY strings reading their length incorrectly
    Some VARBINARY strings were misreading their length, leading to other values reading garbage and erroring. Not sure how some VARBINARY strings were reading correctly, but this fixes the issue. Was caught by the fuzzer, but I stripped out the other queries for the bats test (still reproduces without them).
  • 1527: libraries/doltcore/fkconstrain: fix dropped errors
    This fixes two dropped error variables in libraries/doltcore/fkconstrain.
  • 1526: Fix AsyncDiffer wrong context for cancelation bug.
  • 1525: Andy/faster tag validation
    Previously we fully validated column tag uniqueness on every call to doltdb.PutTable(). This is a huge perf hit on the write path. We can safely eliminate this validation in the case where the old and new table schemas have the same types.Ref.
  • 1524: delete batches
  • 1523: Unskipped many engine plan tests, changed how skipping works
  • 1521: fixed dropped errors in libraries/doltcore/env
    This fixes dropped errors in libraries/doltcore/env and libraries/doltcore/envtestutils.
  • 368: Improvements and corrections for check constraints
    Biggest changes:
    1. Better validation
    2. Checks in CREATE TABLE statements work as expected now (poor validation before)
    3. ALTER TABLE DROP CONSTRAINT works as expected (doesn't assume a foreign key)
    4. Unnamed checks are expected to be named by integrators now
  • 365: Fix SELECT INTO ... bug for AUTO_INCREMENT columns
  • 363: sql/expression/case.go: Type a CASE expression by considering all its branches.
    Implements a lot of the typing behavior described here:
    https://dev.mysql.com/doc/refman/8.0/en/flow-control-functions.html#operator_case
  • 362: Give correct error code for duplicate database.
    Return a Vitess error with code ERDbCreateExists(1007) when trying to create a database that already exists
  • 360: Brought sql.PushdownTable back to memory.Table
    And made its implementation not reduce its schema (same as dolt).
    sql.FilteredTable has significant issues, so that one is still disabled by default.
  • 359: Added IsGenerated to sql.Index

Closed Issues

  • 1535: Can I install dolt without sudo?
  • 1530: Slow cloning from google storage
  • 361: memory database with JSON column cannot be updated

Don't miss a new dolt release

NewReleases is sending notifications on new releases.