github dolthub/dolt v1.7.5
1.7.5

latest releases: v1.43.1, v1.43.0, v1.42.20...
14 months ago

Merged PRs

dolt

  • 6323: Bug Fix: Merge with convergent schema changes
    There were a couple of gaps in our schema merge logic and testing when convergent schema changes happen on both sides of a merge. This change fixes an issue where columns could be omitted if they changed in exactly the same way, and also an issue with spurious FK conflicts if identical FKs were added on both sides of a merge.
  • 6317: Fix intermittent BATS failure
    Fix intermittent BATS failure that happens when a tag like "v2" appears in the commit hash.
  • 6311: During CWBHeadRef/SetCWBHeadRef, surface RSLoadErr if it is present.
    This avoids the panic seen in #6306 by surfacing the un-processed error RSLoadErr during CWBHeadRef/SetCWBHeadRef calls.
  • 6310: go/go.mod: Bump zap and cloud.google.com/go/storage.
  • 6302: Add more node integration tests for the hosted workbench
  • 6299: Migrate dolt tag to use SQL
    This change updates dolt tag command to use only SQL.
    Related: #3922
  • 6296: Migrate dolt revert to sql backend
    • Update the dolt revert command to use dolt_revert() stored procedure.
    • Update dolt_revert() stored procedure to respect the dolt_ignore table
    • Add dolt_revert() dedicated engine tests
    • dolt revert bats tests enabled for remote testing
      #3922
  • 6281: return commit hash for dolt_merge() when --no-ff is not specified
    Fix a bug where we didn't return the commit hash for dolt_merge() when the --no-ff argument wasn't specified, and we performed a non-ff merge.
    Made it so that fast-forward merged will also return the new HEAD commit hash.
    Additionally, changed many enginetests to use the new DoltCommitType to validate dolt commit hashes.
    Also prevents panics when doing call dolt_merge().
    Companion PR:
    dolthub/go-mysql-server#1865
  • 6278: Bump google.golang.org/grpc from 1.29.1 to 1.53.0 in /go/gen/proto/dolt/services/eventsapi
    Bumps google.golang.org/grpc from 1.29.1 to 1.53.0.
  • 6252: Set the DB name on the sql.Context when in remote mode
    The SQL.Context used in the remote connection case is kind of an empty shell since the connection has all the details for working with the DB. One side effect of having a dummy sql.Context was not having the database name set in the context. The shell uses it to set it's prompt, but this could have ramifications elsewhere we haven't discovered.
    No new tests - we don't have expect set up for this tool yet, and I don't want to block on this improvement which is fairly harmless if the existing tests pass.
    #6246
  • 6209: Migrate dolt checkout to new CLI framework.
    This PR migrates dolt branch to invoke SQL commands instead of manipulating the database directly. This allows it to work even on remote connections.
    We implement this by adding an additional flag to the dolt_checkout stored proceudre: --global. This tells the SQL environment to persist this checkout for subsequent connections, making it the new default branch for future connections.
    If a server is currently running, dolt_checkout("--global") will return an error. This is because we try to avoid changing the default branch on a server until we can properly consider the indented effect on existing connections.
    Because working sets behave differently in our SQL environment than the command line (command line has a single working set, SQL land has a working set per-branch), we only permit changing the default branch when there would be no observable different in behavior: that is, when both the former and the new branch are clean. If this isn't the case, we return an error. This guarentees that a user calling dolt checkout from the command line will never see behavior that differs from the original CLI implementation. They will, at worst, get a helpful error message.

go-mysql-server

  • 1873: Supporting mysql.help_ tables
    This first pass adds the table schemas to the mysql database for help_keyword, help_category, help_topic, and help_relation. There is no support for data in the tables yet; we're starting with just table schemas to see if that's enough for tool compatibility.
    Related to: #6308
    I still need to do acceptance testing with the exact repro in the issue linked above. I'll follow up with Max on that tomorrow to confirm. I'm hoping just supporting the schema will be enough for the FusionAuth tool, but we may end up needing to populate these tables, too.
  • 1865: Add CustomValidator interface
    In many places we expect to see a commit hash in our result.
    Since the hashes take into account the system time when computing, it is difficult to predict what they will be.
    This PR adds a new interface that can be implemented on the dolt side to check for commit hashes.

vitess

  • 254: Fix for using unqouted reserved words ('count' specifically) in the VALUES function
  • 253: Automatically concatenate adjacent string literals
    Fixes #5232
    This is to match the mysql behavior:
    mysql> select "a" 'b'   "c";
    +-----+
    | a   |
    +-----+
    | abc |
    +-----+
    The grammar can't accommodate this so it has to go in the lexer. It doesn't work if the strings are broken up by a mysql special comment, so we still have to special case that.
    Also removed support for using string literals as table aliases. MySQL has a mode to support using double-quoted strings only as identifiers, but it's not on by default and isn't supported anywhere else in the grammar.

Closed Issues

  • 6155: Feature Request: Is there any chance to support Supabase or VectorDB?
  • 6306: Panic during status check on db that failed to clone

Latency

Read Tests MySQL Dolt Multiple
covering_index_scan 1.89 2.71 1.4
groupby_scan 12.08 16.71 1.4
index_join 1.16 4.33 3.7
index_join_scan 1.12 2.11 1.9
index_scan 30.26 55.82 1.8
oltp_point_select 0.14 0.46 3.3
oltp_read_only 2.86 7.98 2.8
select_random_points 0.29 0.75 2.6
select_random_ranges 0.35 1.08 3.1
table_scan 30.81 56.84 1.8
types_table_scan 69.29 158.63 2.3
reads_mean_multiplier 2.4
Write Tests MySQL Dolt Multiple
bulk_insert 0.001 0.001 1.0
oltp_delete_insert 5.0 5.88 1.2
oltp_insert 2.39 2.86 1.2
oltp_read_write 6.43 15.27 2.4
oltp_update_index 2.52 3.02 1.2
oltp_update_non_index 2.52 2.97 1.2
oltp_write_only 3.55 7.43 2.1
types_delete_insert 4.74 6.55 1.4
writes_mean_multiplier 1.5
Overall Mean Multiple 2.0

Don't miss a new dolt release

NewReleases is sending notifications on new releases.