Merged PRs
dolt
- 9753: Fixes for dolt_tests
Couple of fixes fordolt_tests
:- Allow comparison of int64 values, which enables running aggregate queries like
sum
andavg
, for instance. - Can check if values are/are not null
- Fixed a bug where NULL test_group_name values would break the function.
- Allow comparison of int64 values, which enables running aggregate queries like
- 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 inselect * from dolt_log()
queries.
Addresses: #9743
- 9749: support
mcp_server
in the thedolt sql-server
configuration file
This PR is part two of supporting mcp directly in Dolt. This one adds themcp_server
key to thedolt 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 definesmcp_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
Addsdolt_test_run
:
Takes in one of the 3 following argument formats:test [test name]
to run a specific testgroup [group name]
to run a group of tests*
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 runningdolt sql
in local mode.
Auto GC can be optionally disabled by passing the--disable-auto-gc
flag to thedolt sql
invocation.
Auto GC behavior fordolt sql-server
is not changed. It is still enabled through theconfig.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 thedolt 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 specifiedlog-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 aboutcount
doesn't seem to apply sincecount
is an aggregation and not a window function.
Also fixes bug in Dolt wheredense_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 thefieldalignment
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