Merged PRs
dolt
- 5428: Add support for using full length commit ids in hashof() procedure
- 5423: updates reset script to disable foreign_key_checks temporarily
Currently, when reset scripts run between Prepared Script Tests errors will occur as tables with foreign keys get dropped and re-added. This change disables foreign key checks while tables are being dropped and re-added as to avoid these foreign key errors. - 5421: Add new version of
dolt_diff_summary
table function
The old version of thedolt_diff_summary
table function was renamed todolt_diff_stat
This new version ofdolt_diff_summary
returns a summary of changed tables between two refsus_jails> select * from dolt_diff_summary("WORKING", "taylor/test"); +-----------------------------+-----------+-------------+---------------+ | table_name | diff_type | data_change | schema_change | +-----------------------------+-----------+-------------+---------------+ | jails | modified | true | false | | test | dropped | false | true | | inmate_population_snapshots | added | true | true | +-----------------------------+-----------+-------------+---------------+ 3 rows in set (0.01 sec)
- 5420: Add new version of
--summary
option todolt diff
The old version ofdolt diff --summary
was renamed todolt diff --stat
This new version ofdolt diff --summary
returns a summary of what tables changed/how between two refsus-jails % dolt diff --summary +-----------------------------+-----------+-------------+---------------+ | Table name | Diff type | Data change | Schema change | +-----------------------------+-----------+-------------+---------------+ | inmate_population_snapshots | dropped | true | true | | jails | modified | true | false | | test | added | false | true | +-----------------------------+-----------+-------------+---------------+
- 5415: Bump golang.org/x/text from 0.3.3 to 0.3.8 in /go/gen/proto/dolt/services/eventsapi
Bumps golang.org/x/text from 0.3.3 to 0.3.8.Commits
434eadc
language: reject excessively large Accept-Language strings23407e7
go.mod: ignore cyclic dependency for taggingb18d3dd
secure/precis: replace bytes.Compare with bytes.Equal795e854
all: replace io/ioutil with io and os packageb0ca10f
internal/language: bump script types to uint16 and update registryba9b0e1
go.mod: update x/tools to HEADd03b418
A+C: delete AUTHORS and CONTRIBUTORSb4bca84
language/display: fix Tag method commentea49e3e
go.mod: update x/tools to HEAD78819d0
go.mod: update to golang.org/x/text v0.1.10- Additional commits viewable in compare view
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/text&package-manager=go_modules&previous-version=0.3.3&new-version=0.3.8)](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). - 5409: Rename diff summary to diff stat
CLI:dolt diff --summary
->dolt diff --stat
SQL:dolt_diff_summary
->dolt_diff_stat
- 5408: binlog bug fixes – stripping checksums and applying
Query
flags
This PR fixes a couple of issues from binlog testing:
Now that we have visibility to the additional flags in theQuery
flagsQuery
binlog event (dolthub/vitess#220), this PR adds handling for those flags.Checksum support
To receive messages from the primary whenbinlog_checksums
are enabled, the replica now sends a handshake signal to the primary and strips off any received checksum on binlog events. This lets us remove the requirement to disable checksums on the primary in order to use Dolt's binlog replication.Password auth for tests
This PR also includes a change in the test code for the replica connect to the primary with a password, to ensure we're testing password auth. - 5407: Restored some needed images
- 5403: Pruned docs directory. Renamed it images.
It was stale. - 5393: go/store/nbs: use chunk journal index to speedup bootstrapping
- 5360: go/doltcore/migrate: write table for migrated commit mapping
Changesdolt migrate
to write a special branch calledmigrated_commits
containing a single tablemapping
with the schema:CREATE TABLE `mapping` ( `old_commit_hash` varchar(16383) NOT NULL, `new_commit_hash` varchar(16383), PRIMARY KEY (`old_commit_hash`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_bin
- 5335: Line-based diffs for modified rows
This adds special git-style diffs for stored procedures. There are two modes. The default displays line changes with the familiar+
and-
prepended to each line. The second requires the flag--proc-in-place
, and shows the changes in-place with the color signifying the change.
go-mysql-server
- 1614: Bump golang.org/x/text from 0.3.7 to 0.3.8
Bumps golang.org/x/text from 0.3.7 to 0.3.8.Commits
434eadc
language: reject excessively large Accept-Language strings23407e7
go.mod: ignore cyclic dependency for taggingb18d3dd
secure/precis: replace bytes.Compare with bytes.Equal795e854
all: replace io/ioutil with io and os packageb0ca10f
internal/language: bump script types to uint16 and update registryba9b0e1
go.mod: update x/tools to HEADd03b418
A+C: delete AUTHORS and CONTRIBUTORSb4bca84
language/display: fix Tag method commentea49e3e
go.mod: update x/tools to HEAD78819d0
go.mod: update to golang.org/x/text v0.1.10- Additional commits viewable in compare view
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/text&package-manager=go_modules&previous-version=0.3.7&new-version=0.3.8)](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/go-mysql-server/network/alerts). - 1611: Added support for dynamic privileges
- 1610: Project reports correct outputCols
- 1609: Added missing analyzer rule for block expressions
Fixes #5390 - 1601: allow safe drops when column is referenced in check constraint
MySQL allows columns which are referenced in check constraints to be dropped if they are the only column referenced in the constraint. This change updates dolt to match this behavior.
fixes: #3147 - 1558: apply spatial index lookup
Changes:- Add support for displaing
SPATIAL KEY
forSHOW CREATE TABLE
. - Allow
IndexedTableAccess
for in-memory tables that have spatial indexes - dolt pr with interface changes: #5164
- added new testing suite for Spatial Indexes
- some fixes to prepared queries for filtered tables
- Add support for displaing
vitess
- 222: Added known dynamic privileges
Getting a generalSTRING
rule to work without running into shift/reduce errors proved too time consuming, so I just added all known dynamic privileges according to MySQL's documentation (exceptSUPER_USER
, which is also giving errors). - 220: Exposing SQL Option and SQL Mode flags for Query events
Query
binlog events are sent from the primary when the replica needs to execute a SQL statement directly. This is only for DDL operations, since DML operations are handled with a structured data message that indicates exactly which rows changed.
There's extra metadata passed inQuery
binlog messages that wasn't getting exposed by Vitess that we need to execute the statements correctly (e.g. foreign_key_checks disabled). This PR exposes the SQL Options and SQL Mode metadata so that we can access them from Dolt.
Closed Issues
- 4751: View overview of table changes between revisions
- 5427: Connecting via linux mysql client won't accept password as '-p' option
- 5390: panic on stored procedure call
- 3147: Dolt does not allow the dropping of a column with check constraint
- 251: LastInsertId always returns 0
Latency
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.96 | 2.76 | 1.4 |
groupby_scan | 12.08 | 16.41 | 1.4 |
index_join | 1.16 | 4.18 | 3.6 |
index_join_scan | 1.12 | 2.07 | 1.8 |
index_scan | 30.81 | 52.89 | 1.7 |
oltp_point_select | 0.15 | 0.48 | 3.2 |
oltp_read_only | 3.02 | 8.58 | 2.8 |
select_random_points | 0.3 | 0.74 | 2.5 |
select_random_ranges | 0.35 | 1.12 | 3.2 |
table_scan | 31.37 | 54.83 | 1.7 |
types_table_scan | 69.29 | 161.51 | 2.3 |
reads_mean_multiplier | 2.3 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
bulk_insert | 0.001 | 0.001 | 1.0 |
oltp_delete_insert | 3.02 | 11.87 | 3.9 |
oltp_insert | 1.55 | 2.97 | 1.9 |
oltp_read_write | 5.37 | 17.95 | 3.3 |
oltp_update_index | 1.7 | 5.67 | 3.3 |
oltp_update_non_index | 1.58 | 5.77 | 3.7 |
oltp_write_only | 2.48 | 8.9 | 3.6 |
types_delete_insert | 3.19 | 11.87 | 3.7 |
writes_mean_multiplier | 3.1 |
Overall Mean Multiple | 2.6 |
---|