## Summary This PR introduces a `HeaderProvider` which is called for all remote HTTP calls to get the latest headers to inject. This is useful for features like adding the latest auth tokens where the header provider can auto-refresh tokens internally and each request always set the refreshed token. --------- Co-authored-by: Claude <noreply@anthropic.com>
6.2 KiB
@lancedb/lancedb • Docs
@lancedb/lancedb / Connection
Class: abstract Connection
A LanceDB Connection that allows you to open tables and create new ones.
Connection could be local against filesystem or remote against a server.
A Connection is intended to be a long lived object and may hold open resources such as HTTP connection pools. This is generally fine and a single connection should be shared if it is going to be used many times. However, if you are finished with a connection, you may call close to eagerly free these resources. Any call to a Connection method after it has been closed will result in an error.
Closing a connection is optional. Connections will automatically be closed when they are garbage collected.
Any created tables are independent and will continue to work even if the underlying connection has been closed.
Methods
close()
abstract close(): void
Close the connection, releasing any underlying resources.
It is safe to call this method multiple times.
Any attempt to use the connection after it is closed will result in an error.
Returns
void
createEmptyTable()
createEmptyTable(name, schema, options)
abstract createEmptyTable(
name,
schema,
options?): Promise<Table>
Creates a new empty Table
Parameters
-
name:
stringThe name of the table. -
schema:
SchemaLikeThe schema of the table -
options?:
Partial<CreateTableOptions> Additional options (backwards compatibility)
Returns
Promise<Table>
createEmptyTable(name, schema, namespace, options)
abstract createEmptyTable(
name,
schema,
namespace?,
options?): Promise<Table>
Creates a new empty Table
Parameters
-
name:
stringThe name of the table. -
schema:
SchemaLikeThe schema of the table -
namespace?:
string[] The namespace to create the table in (defaults to root namespace) -
options?:
Partial<CreateTableOptions> Additional options
Returns
Promise<Table>
createTable()
createTable(options, namespace)
abstract createTable(options, namespace?): Promise<Table>
Creates a new Table and initialize it with new data.
Parameters
-
options:
object&Partial<CreateTableOptions> The options object. -
namespace?:
string[] The namespace to create the table in (defaults to root namespace)
Returns
Promise<Table>
createTable(name, data, options)
abstract createTable(
name,
data,
options?): Promise<Table>
Creates a new Table and initialize it with new data.
Parameters
-
name:
stringThe name of the table. -
data:
TableLike|Record<string,unknown>[] Non-empty Array of Records to be inserted into the table -
options?:
Partial<CreateTableOptions> Additional options (backwards compatibility)
Returns
Promise<Table>
createTable(name, data, namespace, options)
abstract createTable(
name,
data,
namespace?,
options?): Promise<Table>
Creates a new Table and initialize it with new data.
Parameters
-
name:
stringThe name of the table. -
data:
TableLike|Record<string,unknown>[] Non-empty Array of Records to be inserted into the table -
namespace?:
string[] The namespace to create the table in (defaults to root namespace) -
options?:
Partial<CreateTableOptions> Additional options
Returns
Promise<Table>
display()
abstract display(): string
Return a brief description of the connection
Returns
string
dropAllTables()
abstract dropAllTables(namespace?): Promise<void>
Drop all tables in the database.
Parameters
- namespace?:
string[] The namespace to drop tables from (defaults to root namespace).
Returns
Promise<void>
dropTable()
abstract dropTable(name, namespace?): Promise<void>
Drop an existing table.
Parameters
-
name:
stringThe name of the table to drop. -
namespace?:
string[] The namespace of the table (defaults to root namespace).
Returns
Promise<void>
isOpen()
abstract isOpen(): boolean
Return true if the connection has not been closed
Returns
boolean
openTable()
abstract openTable(
name,
namespace?,
options?): Promise<Table>
Open a table in the database.
Parameters
-
name:
stringThe name of the table -
namespace?:
string[] The namespace of the table (defaults to root namespace) -
options?:
Partial<OpenTableOptions> Additional options
Returns
Promise<Table>
tableNames()
tableNames(options)
abstract tableNames(options?): Promise<string[]>
List all the table names in this database.
Tables will be returned in lexicographical order.
Parameters
- options?:
Partial<TableNamesOptions> options to control the paging / start point (backwards compatibility)
Returns
Promise<string[]>
tableNames(namespace, options)
abstract tableNames(namespace?, options?): Promise<string[]>
List all the table names in this database.
Tables will be returned in lexicographical order.
Parameters
-
namespace?:
string[] The namespace to list tables from (defaults to root namespace) -
options?:
Partial<TableNamesOptions> options to control the paging / start point
Returns
Promise<string[]>