Skip to content

@lancedb/lancedb • Docs


@lancedb/lancedb / QueryExecutionOptions

Interface: QueryExecutionOptions

Options that control the behavior of a particular query execution

Properties

blobMode?

optional blobMode: BlobMode;

How to return blob v2 columns. Applies to toArrow() and toArray().

  • "descriptions" (default): each blob is a descriptor. Read the bytes with Table.fetchBlobs or Table.fetchBlobFiles.
  • "bytes": each top-level blob column holds the blob bytes as LargeBinary. The query also reads _rowid to fetch the bytes, and leaves it out of the result unless QueryBase.withRowId was called. All the bytes are held in memory.

Blobs nested in a struct or a list keep their descriptors.

The rows and the bytes come from the same table version. If the table changes while the query runs, the query runs again, up to three times.

Example

const rows = await table
  .query()
  .select(["id", "image"])
  .toArray({ blobMode: "bytes" });
const image: Uint8Array | null = rows[0].image;

maxBatchLength?

optional maxBatchLength: number;

The maximum number of rows to return in a single batch

Batches may have fewer rows if the underlying data is stored in smaller chunks.


timeoutMs?

optional timeoutMs: number;

Timeout for query execution in milliseconds