github readysettech/readyset stable-260226

8 hours ago

Release Notes

NEW! Readyset is now releasing distro packages and containers for the arm64/aarch64 architecture.

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 and arm64/aarch64 include deb package for Ubuntu 22.04, Debian 12 and later, and rpm packages for Amazon Linux 2023 and RedHat 9. See package installation instructions.

What's New

  • 3a084fc: Eliminated confusing ERROR messages from the replicator on restart.
  • eaed2b5: Added error handling when replicated data arrives before the base node is open.
  • e09ff1d: Extended shallow caching support via sqlparser ASTs.
  • dddd9a9: Added support for the PostGIS POLYGON data type.
  • 7d2e198: Fixed "partially overlapping partial indices" error when caching window function queries that filter on both the partition column and the generated output column (e.g., ROW_NUMBER()).
  • 78986ba: Readyset now defaults to sqlparser for parsing, while still using the legacy parser to catch mismatches.
  • 92d197f: Added support for replicating tables with MySQL functional indexes. Tables with functional indexes can now be snapshotted if they have a usable PRIMARY or UNIQUE key without functional expressions.
  • 482311c: Shallow cache refresh workers are now spawned on demand to reduce unused upstream connections. Workers also shut down and close their connections after an idle period.
  • 86a882d: Fixed a bug to support PostGIS POINT EMPTY.
  • 3b0c72f: Added the SHOW SHALLOW CACHE ENTRIES command to display metadata about cached entries, including last accessed time, refresh time, and execution duration. Supports a WHERE query_id filter and LIMIT clause.
  • 8c92f34: In shallow-cache-only mode, Readyset now supports changing the upstream database via the ALTER READYSET CHANGE UPSTREAM TO '...' statement.
  • 1e38a2c: Optimized TLS client connections for MySQL.
  • 2fa2c1b: Fixed array equality comparisons and type coercion so PostgreSQL array values are correctly compared and cast during query evaluation.
  • 424dd67: Added support for PostgreSQL array operators @> (contains), <@ (contained by), and || (concatenation) in queries proxied and cached by Readyset.
  • b944665: Add rejection of multidimensional array literals with mismatched sub-array dimensions at query preparation time instead of failing at read time.
  • 0adeae0: Added support for the string concatenation operator || for PostgreSQL.
  • 14c83ae: Properly handle AUTOCOMMIT.
  • a9b3733: Fixed AUTOCOMMIT handling during transactions.
  • 5e96e21: Fixed the shallow cache COALESCE setting reverting to its default value after restart when the cache was created via a SQL hint.
  • 8eca556: Fixed malformed Readyset hint comments (e.g., misspelled POLICY keywords) that caused queries to bypass existing shallow caches and hit the upstream database instead.
  • b8247a1: Fixed queries with multiple optimizer hints creating duplicate shallow cache entries instead of sharing a single cache.
  • 0d05da7: Added the SHOW PROXIED SHALLOW QUERIES command to display proxied queries suitable for shallow caching. The query IDs shown can be used to create caches via CREATE CACHE FROM <QUERY_ID>.
  • 14ec787: Fixed a bug where arrays with incompatible element types (e.g., INTEGER and DATE) were silently accepted instead of being rejected at CREATE CACHE time.
  • 692f3e8: Fixed ARRAY[] IN (ARRAY[]) returning incorrect results due to arrays being coerced to strings during constant folding.
  • 9c7a6c2: Fixed a bug where aggregate functions wrapped in scalar functions (e.g., ROUND(MAX(col))) returned 0 rows instead of one row with NULL on empty tables.

Thank you to the following community contributors to this release:
@ahmed-kamal2004, @egoldschmidt

Don't miss a new readyset release

NewReleases is sending notifications on new releases.