API reference › @evolu/sqlite-wasm › c-api › sqlite3_vtab_config

function sqlite3_vtab_config(
  deps: SqliteWasmDep,
): (db: SqliteDbPtr, op: SqliteVtabConfigOp, value: number) => SqliteResultCode;

Defined in: packages/sqlite-wasm/src/CApi.ts:3384

Sets an option of the virtual table whose xCreate or xConnect method is running, the only place it may be called.

  • SQLITE_VTAB_CONSTRAINT_SUPPORT with a non-zero value declares that xUpdate returns SQLITE_CONSTRAINT only before changing anything, so SQLite can honor the statement's ON CONFLICT mode.
  • SQLITE_VTAB_INNOCUOUS marks the virtual table as safe to use in triggers and views, and SQLITE_VTAB_DIRECTONLY prohibits that. Both ignore value.

The C function is variadic, so the binary does not export it. The build's shim returns SQLITE_MISUSE for any other option, including SQLITE_VTAB_USES_ALL_SCHEMAS, which it does not support.

Returns the build's shim sqlite3__wasm_vtab_config, wasm type i(iii), signature ["sqlite3__wasm_vtab_config", "int", "sqlite3*", "int", "int"]. Its signature comes from Evolu's metadata because SQLite's table omits it.

See https://sqlite.org/c3ref/vtab_config.html.