github dolthub/dolt v1.49.0
1.49.0

12 hours ago

Backwards Incompatible Changes

The --user and --password arguments to dolt sql-server have been deprecated. This change affects the command line arguments as well as the configuration file parameters for dolt 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: dolthub/go-mysql-server#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 deleteErr message in returned error
  • 8801: go: store/types: Fix dolt_gc on databases that use vector indexes.
  • 8800: Remove user and password options for sql-server
    The --user and --password options 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 --user and --password options and instead customers should now explicitly create that user using standard SQL statements for managing users, such as:
    CREATE USER myUser@'%' IDENTIFIED BY 'myPassw0rd';
    GRANT ALL ON *.* TO myUser@'%';
    If user or password is specified in a config file, the sql-server will still startup, but will log a warning. If --user or --password is 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 either DoltEnv.ReloadDB or MultiRepoEnv.ReloadDBs to be called.
    Based on the specific subcommand being run:
    • MultiRepoEnv.ReloadDBs is 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 of CliContext don'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 the CliContext will 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 the DOLT_SKIP_INVALID_JOURNAL_RECORDS environment 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 for validateStoredProcedure analyzer rule into the planbuilder, allowing for proper error messages.
    Related: #8762

Closed Issues

  • 2830: Dump data to file
  • 2829: Will there be a postgres version of this?

Don't miss a new dolt release

NewReleases is sending notifications on new releases.