Skip to content

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

Constructors

new Connection()

new Connection(): Connection

Returns

Connection

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()

abstract createEmptyTable(
   name,
   schema,
   options?): Promise<Table>

Creates a new empty Table

Parameters

  • name: string The name of the table.

  • schema: SchemaLike The schema of the table

  • options?: Partial<CreateTableOptions>

Returns

Promise<Table>


createTable()

createTable(options)

abstract createTable(options): Promise<Table>

Creates a new Table and initialize it with new data.

Parameters
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: string The name of the table.

  • data: TableLike | Record<string, unknown>[] Non-empty Array of Records to be inserted into the table

  • options?: Partial<CreateTableOptions>

Returns

Promise<Table>


display()

abstract display(): string

Return a brief description of the connection

Returns

string


dropTable()

abstract dropTable(name): Promise<void>

Drop an existing table.

Parameters

  • name: string The name of the table to drop.

Returns

Promise<void>


isOpen()

abstract isOpen(): boolean

Return true if the connection has not been closed

Returns

boolean


openTable()

abstract openTable(name, options?): Promise<Table>

Open a table in the database.

Parameters

  • name: string The name of the table

  • options?: Partial<OpenTableOptions>

Returns

Promise<Table>


tableNames()

abstract tableNames(options?): Promise<string[]>

List all the table names in this database.

Tables will be returned in lexicographical order.

Parameters

Returns

Promise<string[]>