github dolthub/dolt v1.58.7
1.58.7

latest releases: v1.59.3, v1.59.2, v1.59.1...
3 days ago

Merged PRs

dolt

  • 9753: Fixes for dolt_tests
    Couple of fixes for dolt_tests:
    1. Allow comparison of int64 values, which enables running aggregate queries like sum and avg, for instance.
    2. Can check if values are/are not null
    3. Fixed a bug where NULL test_group_name values would break the function.
  • 9751: Optimize commit iterator
    Changes:
    • use the commitMetadata and commitHeight (if available) in iterator
    • reduce string and regex operations when resolving a known hash commit spec
    • directly access parent rather than allocating slice
      The result of these changes is roughly 1.7x speed up in select * from dolt_log() queries.
      Addresses: #9743
  • 9749: support mcp_server in the the dolt sql-server configuration file
    This PR is part two of supporting mcp directly in Dolt. This one adds the mcp_server key to the dolt sql-server config.yaml, allowing users to start/configure the http dolt-mcp server here, instead of only with cli arguments. If both the config file defines mcp_server and mcp related cli arguments are supplied, the cli args take precendence over the config file definitions.
  • 9740: Add support for excluding databases from binlog replication
    MySQL allows databases to be excluded from binlog replication through the --replicate-ignore-db command line parameter. Instead of exposing this as a CLI parameter, Dolt exposes a @@binlog_ignore_dbs system variable where users can list one or more comma-separated database names to have those databases excluded from binlog replication.
  • 9737: add DOLT_PAGER to override default pager
    Fixes: #9736
  • 9727: dolt_test_run table function
    Adds dolt_test_run:
    Takes in one of the 3 following argument formats:
    1. test [test name] to run a specific test
    2. group [group name] to run a group of tests
    3. * as a wildcard to run all tests
  • 9726: go: cmd/dolt: sql.go: Enable Auto GC when running dolt sql.
    During something like an mysqldump import, Dolt disk utilization can be unexpectedly high if we do run GC. This change enables Auto GC by default when running dolt sql in local mode.
    Auto GC can be optionally disabled by passing the --disable-auto-gc flag to the dolt sql invocation.
    Auto GC behavior for dolt sql-server is not changed. It is still enabled through the config.yaml file, and is off by default.
  • 9716: add option to start an http mcp server when dolt sql-server is running
    This PR adds arguments to the dolt sql-server command that allow users to start a dolt-mcp http server with a single command. The dolt-mcp server connects directly to the started sql-server on its sql port.
    Additionally, the specified log-level is respected by the dolt-mcp server, and it's logs are written to the same log stream as the sql-server, prefixed with "dolt-mcp".
    This is the first of two PRs, where this one supports running the MCP server via command line flag arguments, and the second PR (not implemented) will support MCP server configuration via Dolt's config.yaml.
  • 9708: field align a few packages
    companion pr: dolthub/go-mysql-server#3168
  • 9682: aws archive conjoin support

go-mysql-server

  • 3187: Allow aggregate/window functions with match expressions
    fixes #6556
    Seems like the scoping issue has already been fixed.
  • 3186: /go.mod: bump go
  • 3180: #9738 - Add CREATE VIEW parentheses tests for MySQL compatibility
    Fixes #9738
    Companion dolthub/vitess#429
  • 3178: Do not materialize any output for WindowPartitionIter if input is empty
    Fixes #6899
    The comment about count doesn't seem to apply since count is an aggregation and not a window function.
    Also fixes bug in Dolt where dense_rank was not working because text storage objects were not being compared properly.
  • 3176: Trim strings to number prefix when cast
    fixes #9733
    adds tests for #9735 and #9739
  • 3175: Support filtering by comment in show table status
    fixes #6894
    • update "Comments" to "Comment" in show table status schema
    • include table comment in table status row
  • 3168: align struct fields to reduce memory usage
    Golang does not automatically arrange the fields of a struct to reduce memory usage.
    I used fieldalignment to rearrange the member variables of all the structs in GMS so they are more compact. The result should be a lower memory footprint and slightly better performance.
    I avoided making changes to the test files as they do not impact our performance.
    TODO:
    • field align spatial types package
    • field align collations
  • 2991: test: optimize database connection test logic
    • Add a 1-second wait time before each test to ensure the database has started
    • Update error assertions to match more specific error messages
    • Adjust the test order: first test the case where the user does not exist, then test the case where the password is incorrect

vitess

  • 431: /go.mod: bump go to 1.24.6
  • 430: Walk OptSelect in DDL node to capture select expressions
    fixes #6670
    captureSelectExpressions was not getting called on DDL.OptSelect because it was not being walked
  • 429: #9738 - Support parentheses around SELECT in CREATE VIEW for MySQL compatibility
    Fixes #9738
  • 427: field align sqlparser
    This PR runs the fieldalignment tool over parts of the sqlparser.
  • 425: Add parsing of VECTOR type
    This adds parsing and sqlType info for a VECTOR type, matching MySQL's behvaior.

Closed Issues

  • 6556: Aggregate/Window mixing with MATCH expressions not yet supported
  • 9759: KEY in 'create table' error
  • 6670: Dolt generates different column name for aggregate function expressions.
  • 9738: CREATE VIEW should support parentheses around the SELECT statement for MySQL compatibility
  • 6899: lateral join with aggregation returns wrong results
  • 9736: Option to turn autopaging off
  • 9725: AUTO_INCREMENT not synced after primary/standby failover, causing duplicate key errors

Don't miss a new dolt release

NewReleases is sending notifications on new releases.