Looking for this year's edition? Please visit WASM I/0 2025

Session

Look who's talking!

Detail illustration WASM I/O Detail illustration WASM I/O
Piotr Sarna
blend-mode

WebAssembly functions for your SQLite-compatible database

Piotr Sarna - ChiselStrike

Slides

This talk introduces libSQL: a fork of SQLite, and its support for dynamic function creation and execution directly via SQL, all powered by Wasm. It also covers how to implement and use a convenient library (libsql_bindgen) for compiling Rust code straight to Wasm, with automatic type translation.

SQLite is a key piece of software for modern infrastructure. But while SQLite allows registering arbitrary user-defined functions via programmatic APIs, there’s no support for good old CREATE FUNCTION syntax for managing functions straight from SQL. This talk introduces libSQL: a fork of SQLite, and its support for dynamic function creation and execution directly via SQL, all powered by WebAssembly. libSQL is compatible with multiple runtimes, including Wasmtime and WasmEdge. The talk also covers how to implement and use a convenient library (libsql_bindgen) for compiling Rust code straight to Wasm, with automatic type translation.

View all sessions