LanceDB.Execution (LanceDB v0.2.0)

Copy Markdown View Source

Native operation admission. Limits apply across the BEAM VM: at most 64 active reads and 16 writes by default. A read cursor holds its slot until completion or close; read and write budgets are separate so batches can flow between them. Excess operations fail immediately with Error.kind == :busy. Existing operations finish if limits are lowered. Limits bound concurrency, not memory per operation.

Query deadlines are cooperative, include cursor idle time, and cannot preempt synchronous codecs. Connect and open also accept cooperative native deadlines and cancel on caller death. Their storage waits run on Tokio and retain no BEAM scheduler. Cursor owner death cancels reads. Writer owner death errors input and awaits the native result; cancellation never promises rollback after final commit has begun. Direct operations create no table process or connection pool. LanceDB.TableCache provides optional application-supervised retention.

Summary

Functions

Sets positive read and write concurrency limits across the BEAM VM. Omitted limits revert to their defaults, 64 reads and 16 writes.

Types

write_input(value)

@type write_input(value) :: {:ok, value} | {:error, LanceDB.Error.reason()}

Functions

configure(opts)

@spec configure(keyword()) :: {:ok, :ok}

Sets positive read and write concurrency limits across the BEAM VM. Omitted limits revert to their defaults, 64 reads and 16 writes.