readysettech / readyset

Readyset is a MySQL and Postgres wire-compatible caching layer that sits in front of existing databases to speed up queries and horizontally scale read throughput. Under the hood, ReadySet caches the results of cached select statements and incrementally updates these results over time as the underlying data changes.
https://readyset.io
Other
4.54k stars 125 forks source link

readyset-mysql: Disable statement cache #1229

Closed ethan-readyset closed 7 months ago

ethan-readyset commented 7 months ago

mysql_async has a "statement cache" feature, which limits the number of prepared statements that exist on a given connection at one time. This is enabled by default with a value of 32. When the number of prepared statement exceeds 32, a previously-created prepared statement is deallocated, which results in errors when a client attempts to execute it.

This commit disables this statement cache to ensure that we can support an arbitrary number of prepared statements (as we do for Postgres).

Release-Note-Core: Fixed an issue where the number of prepared statements for a MySQL connection was limited to 32