If we start supporting external catalogs then "drop database" may be misleading (and not possible). We should be more clear that this is a utility method to drop all tables. This is also a nice chance for some consistency cleanup as it was `drop_db` in rust, `drop_database` in python, and non-existent in typescript. This PR also adds a public accessor to get the database trait from a connection. BREAKING CHANGE: the `drop_database` / `drop_db` methods are now deprecated.
3.8 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()
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>
Returns
Promise<Table>
createTable()
createTable(options)
abstract createTable(options): Promise<Table>
Creates a new Table and initialize it with new data.
Parameters
- options:
object&Partial<CreateTableOptions> The options object.
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>
Returns
Promise<Table>
display()
abstract display(): string
Return a brief description of the connection
Returns
string
dropAllTables()
abstract dropAllTables(): Promise<void>
Drop all tables in the database.
Returns
Promise<void>
dropTable()
abstract dropTable(name): Promise<void>
Drop an existing table.
Parameters
- name:
stringThe 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:
stringThe 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
- options?:
Partial<TableNamesOptions> options to control the paging / start point
Returns
Promise<string[]>