mirror of
https://github.com/lancedb/lancedb.git
synced 2026-08-20 04:58:32 +00:00
fcc6a89b92
`Connection::list_tables` took a `lance_namespace::models::ListTablesRequest` directly, so its generated shape -- including `identity`, `context` and `include_declared`, none of which lancedb reads -- was part of the public API, and Node had no binding at all. Replaces it with a `ListTablesBuilder` carrying `page_token`, `limit` and `namespace`, matching every other operation on `Connection`. This is a breaking change for Rust callers. Node gains `listTables` with `ListTablesOptions` and `ListTablesResponse`; Python's public API is unchanged, since it already had `list_tables` everywhere. `table_names` and `TableNamesBuilder` are deprecated. Its `start_after` takes a table name rather than an opaque token, which cannot be pushed down into a store that resumes from a continuation token. Also fixes the page boundary in `ListingDatabase::list_tables`: the token was the first name of the next page while resuming skips names at or before the token, so one table was dropped per boundary. Walking `[a, b, c, d, e]` with a limit of 2 returned `[a, b, d, e]`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
631 B
631 B
@lancedb/lancedb • Docs
@lancedb/lancedb / ListTablesOptions
Interface: ListTablesOptions
Properties
limit?
optional limit: number;
An upper bound on how many tables to return.
A page may hold fewer than this and still not be the last one, so continue while the response carries a page token rather than while pages are full.
pageToken?
optional pageToken: string;
Token from a previous response for pagination.
The token is opaque: it carries whatever the database needs to resume, and callers should not construct or interpret one.