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

Improve error messaging on autocommit disabling #1384

Closed jasobrown-rs closed 1 month ago

jasobrown-rs commented 1 month ago

Currently, when we receive a SET autocommit=0; command, we return and log a simple error "received unsupported SET statement". This is not really actionable for the user. In fact, when autocommit is disabled, it basically means "never use readyset and just proxy all the things". If a connection disables autocommit at startup, and never changes it, it's basically an anti-pattern for Readyset (as we're just a proxy at that point).

Thus, let's improve the text to help users understand that disabled autocommit is not useful with readyset.