Files
lancedb/docs/src/js/interfaces/ListTablesOptions.md
T
Will Jones fcc6a89b92 feat: builder API for list_tables, deprecate table_names
`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>
2026-08-19 13:28:26 -07:00

631 B

@lancedb/lancedbDocs


@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.