-
released this
2025-02-05 11:42:53 -06:00 | 3038 commits to main since this releaseBackwards Incompatible Changes
The
--userand--passwordarguments todolt sql-serverhave been deprecated. This change affects the command line arguments as well as the configuration file parameters fordolt sql-server. These options previously created a temporary superuser with the specified name and optional password; however, since support for SQL user and privilege management was added, these arguments introduced edge cases that caused issues for customers. Instead, customers should use the standard SQL support for managing users and grants. For more information on this change, including instructions on how to manage users and grants with SQL, see our announcement blog post for this change.Per Dolt’s versioning policy, this is a minor version bump because these changes may impact existing applications. Please reach out to us on GitHub or Discord if you have questions or need help with any of these changes.
Merged PRs
dolt
- 8812: [kvexec] fix left join nullability bug
We were using a stale variable for a nullability comparison.
test here: https://github.com/dolthub/go-mysql-server/pull/2840 - 8809: go: sqle/binlogreplication: Add some waits for more reliable observations of IO_error results.
- 8808: [kvexec] literal types cast to lookup expr type
- 8806: replace cli printErrf with printf in server startup logging
- 8804: Include
deleteErrmessage in returned error - 8801: go: store/types: Fix dolt_gc on databases that use vector indexes.
- 8800: Remove
userandpasswordoptions for sql-server
The--userand--passwordoptions to sql-server (whether specified on the command line or in a configuration file) allow users to specify an ephemeral superuser to use for the life of the sql-server process. This is a convenient way to temporarily create a superuser, but has several edge cases that can cause unexpected behavior.
This change removes support for the--userand--passwordoptions and instead customers should now explicitly create that user using standard SQL statements for managing users, such as:IfCREATE USER myUser@'%' IDENTIFIED BY 'myPassw0rd'; GRANT ALL ON *.* TO myUser@'%';userorpasswordis specified in a config file, the sql-server will still startup, but will log a warning. If--useror--passwordis specified as a CLI argument the sql-server will error out with an error message explaining the change. The reason for the difference in handling is that it may be harder for customers to update config files. - 8783: Avoid loading DB for commands where it's not necessary.
This PR avoids loading dolt DBs at startup, instead waiting for eitherDoltEnv.ReloadDBorMultiRepoEnv.ReloadDBsto be called.
Based on the specific subcommand being run:MultiRepoEnv.ReloadDBsis called prior to command execution if the command will always need DB access.- Commands that conditionally require a DB can choose whether to call
DoltEnv.ReloadDB - Commands that never need the DB will never load it.
Commands that make use ofCliContextdon't need to load the DB, as the underlying query engine will load the DB if it needs database access. As a result, commands that are implemented purely in terms of theCliContextwill load the DB when Dolt is runnning an embedded SQL engine, and will skip loading the DB when Dolt is connecting to a running server.
- 8774: /go/libraries/doltcore/env/actions: make iter resolved tags paginated sort in lexicographical order
- 8732: Tidy up journal writer code comments and error handling
Before this change, the code that iterates over journal records would silently stop processing journal records once it encountered any invalid record. This change turns those invalid records into errors so that data isn't silently ignored. Customers can opt-in to the previous behavior by setting theDOLT_SKIP_INVALID_JOURNAL_RECORDSenvironment variable to any value.
go-mysql-server
- 2835: Added the concept of an interpreter expression
This adds the concept of an interpreter expression, which is primarily used by integrators. - 2828: return error for ddl in create proc statements
This PR moves the logic forvalidateStoredProcedureanalyzer rule into the planbuilder, allowing for proper error messages.
Related: https://github.com/dolthub/dolt/issues/8762
Closed Issues
Performance
Read Tests MySQL Dolt Multiple covering_index_scan 1.89 0.64 0.34 groupby_scan 13.22 17.32 1.31 index_join 1.47 2.48 1.69 index_join_scan 1.42 1.44 1.01 index_scan 35.59 30.26 0.85 oltp_point_select 0.18 0.26 1.44 oltp_read_only 3.49 5.28 1.51 select_random_points 0.34 0.58 1.71 select_random_ranges 0.37 0.62 1.68 table_scan 36.24 32.53 0.9 types_table_scan 75.82 114.72 1.51 reads_mean_multiplier 1.27 Write Tests MySQL Dolt Multiple oltp_delete_insert 8.9 6.21 0.7 oltp_insert 4.1 3.07 0.75 oltp_read_write 8.9 11.45 1.29 oltp_update_index 4.18 3.13 0.75 oltp_update_non_index 4.18 3.07 0.73 oltp_write_only 5.77 6.21 1.08 types_delete_insert 8.43 6.55 0.78 writes_mean_multiplier 0.87 TPC-C TPS Tests MySQL Dolt Multiple tpcc-scale-factor-1 95.73 40.13 2.39 tpcc_tps_multiplier 2.39 Overall Mean Multiple 1.51 Downloads
- 8812: [kvexec] fix left join nullability bug
mirror of
https://github.com/dolthub/dolt.git
synced 2025-12-16 19:36:23 -06:00