github dolthub/dolt v0.75.4
0.75.4

latest releases: v1.43.0, v1.42.20, v1.42.19...
18 months ago

Merged PRs

dolt

  • 5593: go/store/nbs: compute fresh lock hash during manifest true-up on chun…
    …k journal bootstrap
  • 5588: integration-tests/MySQLDockerfile: Bump to ubuntu:20.04. Fixes R MariaDB integration test.
  • 5587: update maven
  • 5584: libraries/doltcore/doltdb: fix dropped errors
    This fixes two dropped err variables in the libraries/doltcore/doltdb.
  • 5583: Bug fix for view and trigger diffs in SQL and JSON diff outputs
  • 5576: go/store/types: ValueStore: Establish a safepoint at the end of the GC cycle, before finalizing GC.
  • 5572: integration-tests/go-sql-server-driver: Add some cleanup for the tmpdirs created as part of running these tests.
  • 5556: Invalidate all sessions' db state for drop database
    Fix for: #5349
    When a database is deleted, the cached dbState held by every session needs to be invalidated. Otherwise sessions think the deleted database still exists and are can still reference the deleted db's data, which does not match MySQL's behavior. If a new database is then created with the same name, then sessions will still use the old db info and aren't able to see the new database state.
    This change means that a session's dbState member now needs to be accessed concurrently, so I've also added synchronization using the exiting session mutex.
    Related GMS PR: dolthub/go-mysql-server#1654
  • 5489: Test for for dropping primary keys when foreign keys are present
    Also adds a skipped test for a merge that now hangs indefinitely.
  • 5455: Bump golang.org/x/crypto from 0.0.0-20210921155107-089bfa567519 to 0.1.0 in /go
    Bumps golang.org/x/crypto from 0.0.0-20210921155107-089bfa567519 to 0.1.0.
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/crypto&package-manager=go_modules&previous-version=0.0.0-20210921155107-089bfa567519&new-version=0.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/dolthub/dolt/network/alerts).
  • 5431: go/store/{types,nbs}: Enable writes to proceed while GC is in progress.

go-mysql-server

  • 1656: De Morgan's Laws for NOT filter hoisting
    Hoisting filters in NOT expressions is subject to violating De Morgan's Laws. The current fix makes sure that when we pull filters from a subquery into a parent scope, we will include the hoisted filters in the NOT conjunction.
    So:
    select * from xy where not exists (select * from uv where x = 1)
    =>
    select * from xy where not (exists (select * from uv) and x = 1)
    And in the more general case:
    select * from xy where not exists (select * from uv where not exists (select * from uv where x = 1))
    =>
    select * from xy where not (exists (select * from uv) and not (exists (select * from uv) and x = 1))
    Further simplification would be helpful.
  • 1654: Clearing the session's transactionDb field at the end of the DropDB iterator
    Dolt PR: #5556
    Dolt needs to start clearing dbState for all sessions when a database is dropped, otherwise incorrect data can be returned. As part of clearing that state in all sessions, it means that after the DropDB node has run its logic, the previous TransactionCommittingNode would try to run logic that relied on the dropped database state still being there. This change clears the transactionDb field of a session after we've dropped that db so that the transaction commit logic doesn't try to run.
  • 1650: Replace false filter with an empty table with the schema of the filter.
    Fixes #5522
  • 1537: Covered @@GLOBAL.time_zone in CONVERT_TZ function

Closed Issues

  • 5549: Getting "out of range for tinyint" error from dolt
  • 5349: Dropping and recreating database of same name in one client is not reflected in other clients
  • 5522: dolt panics when EXISTS subquery has a false condition

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 1.93 2.71 1.4
groupby_scan 12.3 16.12 1.3
index_join 1.18 4.03 3.4
index_join_scan 1.14 2.11 1.9
index_scan 30.26 52.89 1.7
oltp_point_select 0.15 0.48 3.2
oltp_read_only 2.91 8.43 2.9
select_random_points 0.3 0.73 2.4
select_random_ranges 0.35 1.12 3.2
table_scan 30.81 53.85 1.7
types_table_scan 69.29 158.63 2.3
reads_mean_multiplier 2.3
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 5.47 5.77 1.1
oltp_insert 2.57 2.81 1.1
oltp_read_write 6.55 15.55 2.4
oltp_update_index 2.66 2.91 1.1
oltp_update_non_index 2.71 2.86 1.1
oltp_write_only 3.89 7.43 1.9
types_delete_insert 5.18 6.55 1.3
writes_mean_multiplier 1.4
Overall Mean Multiple 1.9

Don't miss a new dolt release

NewReleases is sending notifications on new releases.