mirror of
https://github.com/lancedb/lancedb.git
synced 2026-11-13 22:26:53 +00:00
feat!: accept only $ as the identifier delimiter
The delimiter setting comes from the Lance REST catalog standard, which carries it so other catalogs can adopt the identifier grammar. LanceDB services split on `$` and nothing else, so a configuration naming another value produced identifiers no service would take apart the way the caller meant. `ClientConfig::id_delimiter` stays, and is now refused unless it is `$`, reported where the configuration was written. Fixing the delimiter removes what the alternative needed: the `?delimiter=` query parameter, the per-client delimiter field, and the refusal of a component containing the delimiter -- `$` is outside the character set every object name admits, so no validated component can hold one. BREAKING CHANGE: a client configured with an `id_delimiter` other than `$` is now refused at construction. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UfmeJ533rQDnPBkMtjerV6
This commit is contained in:
co-authored by
Claude Opus 5
parent
fa24bf322c
commit
5ba2acf730
@@ -93,6 +93,9 @@ pub struct ClientConfig {
|
||||
pub retry_config: Option<RetryConfig>,
|
||||
pub timeout_config: Option<TimeoutConfig>,
|
||||
pub extra_headers: Option<HashMap<String, String>>,
|
||||
/// The delimiter joining a namespace path and a name into one object
|
||||
/// identifier. `"$"` is the only supported value, and leaving this unset is
|
||||
/// how to get it; anything else is rejected when the connection is created.
|
||||
pub id_delimiter: Option<String>,
|
||||
pub tls_config: Option<TlsConfig>,
|
||||
/// User identifier for tracking purposes.
|
||||
|
||||
Reference in New Issue
Block a user