Skip to main content

Module settings

Module settings 

Source
Expand description

The registry of Timelake’s settings (SPEC §21.9): every switch is declared once here, with its type, default, the levels it may be set at, and the version that added it. Table properties, SQL SET, the CLI’s timelake settings and the docs all come from SETTINGS.

A setting has one name in kebab-case (read-dedup). As a table property it is timelake.read-dedup; in SQL, where names are identifiers, timelake.read_dedup. Both spellings find the same setting.

use timelake_format::settings::{self, Level};

let s = settings::find("timelake.read_dedup").unwrap();
assert_eq!(s.property(), "timelake.read-dedup");
assert!(s.allows(Level::Session));
assert!(s.check("maybe").is_err());

Structs§

Setting
One setting.

Enums§

DefaultValue
A setting’s value when nothing sets it.
Level
Where a setting can be set. The more specific level wins: a call over a session over a table.

Constants§

PREFIX
The prefix of Timelake’s table properties and session settings.

Statics§

SETTINGS
Every setting, in the order the docs list them.

Functions§

check_properties
Checks Timelake’s properties among properties for level (Level::Table when creating or altering a table) and returns them with every Timelake key in its canonical spelling. Keys outside the timelake. prefix (Iceberg’s own) pass through.
find
Finds a setting by name: read-dedup, read_dedup, timelake.read-dedup or timelake.read_dedup, in any case.
not_settable
The error for a setting set where it can’t be: says where it can be.
unknown
The error for a name that isn’t a setting.