Skip to main content
Applies to: Embedded ❌, Enterprise ✅ A LanceDB extension with no DataFusion equivalent. It is what makes feature engineering reachable from SQL: a column declared by DDL starts empty, and a refresh fills it.
Without WHERE, a refresh fills unassigned rows and recomputes values whose inputs changed, leaving other current values alone. A retry after a failure can still repeat work that was not committed. With WHERE, a refresh recomputes every matching live row, including rows that already have current values. Repeating a predicate can repeat the Function calls and their cost. To select only null outputs within a slice:
This skips non-null outputs even if their inputs changed. It also selects outputs that were successfully computed as NULL. Use an unfiltered refresh to let LanceDB track which outputs need updating.

Options

The example allows up to 8 CPUs, 16 GiB of memory, and 2 GPUs across the Function workers together. It does not reserve those resources per worker or guarantee a worker count. When setting CPU or memory, provide all three budget fields. A complete CPU-only budget uses gpu_count = 0. Set error_policy on the refresh, not on the Function definition. With skip, inspect failures with SHOW ERRORS or table.function_errors() and retry the affected rows after fixing the cause. Initialization, infrastructure, and publication failures can still fail the job.
num_workers is refused for a column filled by a registered function, which sizes its own workers from the CPU, memory and GPU options instead. error_policy (and the Function-only options above it in the table) is the reverse: it’s refused for a plain SQL-expression column, which has no per-row failures to skip — it’s accepted only for a Function column.

Watching a refresh

A refresh submits work that outlives the call. Track it with SHOW JOBS, and diagnose failures with SHOW ERRORS. For per-split progress, worker fleet detail, and a DESCRIBE JOB example, see Watching a refresh.

See also

Refresh a computed column

The same operation from the SDKs, and what a refresh guarantees.

Table

Declaring the columns this fills.

REFRESH MATERIALIZED VIEW

Bringing a view’s stored result up to date, instead of a column.