mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-30 15:26:52 +00:00
## Summary Adopts the product terminology guide across the docs site pages, SDK docstrings and error messages. "LanceDB OSS" and local mode become **LanceDB Embedded**. "Remote" as the execution model becomes **LanceDB Distributed**, which LanceDB Enterprise provides. Where free vs paid is the point, pages contrast "LanceDB Embedded (open source)" with "LanceDB Enterprise". This is a first trial of the Embedded name, so reviewers can judge it in context. - **Embedded vs Distributed** for where execution runs (`optimize()`, consistency, branching, maintenance). Main pages define it once: "LanceDB Enterprise runs LanceDB Distributed: …" - **LanceDB Cloud** is kept only for legacy-Cloud specifics (`db://` region, the brute-force KNN limit) and marked legacy. "Cloud and Enterprise" becomes Enterprise or Distributed. - **Plan executor** becomes "executor" or the fleet name. - **Error messages** change, e.g. `optimize is not supported for remote tables.` → `... in LanceDB Distributed.` Tests that match on them are updated. - **Vale rules** (`EmbeddedName`, `OSSProduct`, `RemoteExecution`, `DistributedEnterprise`, `LegacyCloud`, `InternalNames`) enforce the terms in prose. Unchanged: identifiers (`availability.oss`, the `remote` module and feature, `RemoteTable`, `db://`), heading anchors, internal code comments, and Geneva. ## Evidence - Rust lib tests for the changed messages and the Python tests in `test_remote_db.py`, `test_materialized_views.py` and `test_table.py` pass locally. - Not run locally: - The Node tests: `remote.test.ts` and `table.test.ts` have updated assertions. - Vale. - The `experimental_functions`-marked materialized-view tests. - `docs/src` API reference was hand-edited to match the docstrings rather than regenerated. ## Merge Risk **Door:** two-way; prose and message text only. **Blast Radius:** `docs`, `error-messages`: callers matching on old error strings would break. Companion PRs: lancedb/docs (assembler labels, STYLE.md) and sophon (Enterprise pages). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
70 lines
3.0 KiB
Plaintext
70 lines
3.0 KiB
Plaintext
---
|
|
title: "Naming rules"
|
|
sidebarTitle: "Naming Rules"
|
|
description: "Choose portable names for your data objects and namespace paths."
|
|
icon: signature
|
|
keywords: ["names", "naming", "table name", "namespace", "identifier", "limits"]
|
|
---
|
|
|
|
## Naming rules {#rules}
|
|
|
|
<span id="objects" />
|
|
|
|
Databases, namespaces, tables, views and branches all have names. Choose names
|
|
that describe their purpose, such as `documents`, `prod` or `training_2026`.
|
|
Consistent names make data easier to find and application code easier to read.
|
|
|
|
Use the following rules for names that work across LanceDB Embedded and LanceDB Enterprise.
|
|
|
|
| Object | Characters | Length |
|
|
| --- | --- | --- |
|
|
| Table, materialized view, view | ASCII letters and digits, `-`, `_`, `.` | 1 to 128 characters |
|
|
| Namespace component | ASCII letters and digits, `-`, `_`, `.` | 1 to 64 characters; at most 10 components in a path |
|
|
| Database | ASCII letters and digits, `-`, `_`, `.`, with `/` between components | 1 to 64 characters for the whole name |
|
|
| Branch | Avoid `$` and `:`; use ASCII letters, digits, `-` and `_` for portability | Keep to 1 to 64 characters |
|
|
|
|
- Names and individual namespace or database components must not be empty.
|
|
- Table, view, namespace and database components cannot be `.` or `..`.
|
|
- Avoid `$` and `:` because they separate parts of qualified identifiers.
|
|
- A namespace path beginning with `public` cannot contain another component.
|
|
|
|
{/*
|
|
Draft for the Functions release. Add these rows to the end of the table above:
|
|
| Secret | ASCII letters and digits, `-`, `_`, `.` | 1 to 128 characters |
|
|
| Function | ASCII letters and digits, `_` | 1 to 128 characters |
|
|
Add this item to the list above, after the rule for `.` and `..`:
|
|
- Secret names cannot be `.` or `..`.
|
|
*/}
|
|
|
|
## Namespace paths {#paths}
|
|
|
|
A namespace path is a list of names. `["prod", "search"]` identifies the
|
|
`search` namespace within `prod`. A table named `documents` belongs to that
|
|
namespace; its table name remains `documents`.
|
|
|
|
Use the SDK's namespace-path argument to supply the list. A period inside an
|
|
SDK name is a character in that name, not a separator that creates another
|
|
namespace. SQL uses its own qualified-name syntax; see
|
|
[SQL namespace paths](/sql/dql/select#namespaces).
|
|
|
|
The empty path `[]` identifies the root namespace.
|
|
|
|
## Examples {#examples}
|
|
|
|
| Name or path | Guidance |
|
|
| --- | --- |
|
|
| `documents`, `user-events.v2`, `train_2026` | Portable table names |
|
|
| `["prod", "search"]` | A two-component namespace path |
|
|
| `my table` | Use `my_table` instead of a space |
|
|
| `orders$2026` | Use `orders_2026`; `$` is reserved |
|
|
| `résumés` | Use an ASCII name such as `resumes` |
|
|
| `["public", "search"]` | Invalid nesting under `public`; use a different parent namespace |
|
|
|
|
<span id="which-versions-check-them" />
|
|
|
|
## Learn more {#next}
|
|
|
|
- [Namespaces](/management/namespace): create namespaces and address tables.
|
|
- [Branches](/tables/branching): name and manage separate lines of table history.
|
|
- [Limits](/basics/limits): check other constraints before designing your schema.
|