Skip to content

stable-250327

Compare
Choose a tag to compare
@ronh-rs ronh-rs released this 27 Mar 16:37
· 79 commits to main since this release

Release Notes

Readyset is currently released as a docker container and Linux distro binary packages. For installation with docker, see the Install with Docker documentation. Available Linux distribution binary packages for x86_64/amd64 include deb package for Ubuntu 22.04, Debian 12 and later, and rpm packages for Fedora 39 and Amazon Linux 2023. See package installation instructions.

What's New

  • 875fda7: It's now possible to connect to Readyset with multiple users by specifying a comma-separated list of username:password pairs in the --allowed-users parameter.
  • 418911e: Added support for builtin functions json[b]_object_agg and json_objectagg.
  • 795b05b: MySQL upstream connections no longer automatically attempt to reconnect via the Unix socket after a successful TCP connection on localhost. To connect to a local MySQL server via the socket, add ?socket=/path/to/socket to the connection string.
  • 29e086c: Check whether placeholders' columns (zzz = $1) exist during migration, and if not, report query as unsupported.
  • 07e2987: Readyset now allows tuple comparison using = and IN operators, allowing queries like:
    SELECT * FROM t WHERE (a,b) = (1,2)
    SELECT * FROM t WHERE (a,b) = (?,?)
    SELECT * FROM t WHERE (a,b) IN ((1,2), (3,4))
    SELECT * FROM t WHERE (a,b) IN ((?,?), (?,?))
    and auto-parameterizes queries when possible.
  • 9477a18: Add support for CASE WHEN syntax: CASE <expr> WHEN <expr> THEN <expr>
  • a3ed35a: Add support for STRAIGHT_JOIN as a join operator.
  • 860925e: Adjust MySQL ColumnDefinitions to match MySQL. Some drivers, like ruby-mysql2, use the column definition to round decimal numbers.
  • 7e2c8ed: Handle invalid 0000-00-00 00:00:00 date when it appears as as a default column value in the schema.
  • fc819f9: Fixed a MySQL replication issue when Minimal Row Image is enabled. If a case-insensitive text column was omitted during an insert, we will try to coerce its value to the corresponding type, which will fail if we attempt to coerce before translating the value to the column default.
  • 6c9c981: Send a COM_QUIT command when closing a MySQL connection in order to avoid log flooding with aborted connection.
  • d0a74d5: Readyset now pulls filter conditions with function calls into join keys.