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

Unify experimental features parameter and ENV naming convention #1339

Closed altmannmarcelo closed 3 months ago

altmannmarcelo commented 4 months ago

Description

Readyset support some experimental features, that are not enabled by default. The current list is https://github.com/readysettech/readyset/blob/stable-240627/readyset-server/src/lib.rs#L611-L636

Take for example straddle joins:

/// Enable experimental support for straddled joins (joins with partial keys traced to both
/// parents)
#[arg(long, env = "EXPERIMENTAL_STRADDLED_JOIN_SUPPORT", hide = true)]
pub enable_experimental_straddled_joins: bool,

this if used with a parameter, starts with enable and uses the word joins plural, if used as an ENV variable, this does not contain the word enable it uses the word join singular and has a _support in the end.

This is a problem because:

Change in user-visible behavior

Requires documentation change

davisjc commented 3 months ago

This is fixed in 292d031.