~/talk

WebAssembly functions for your SQLite-compatible database

Talkat Wasm I/O 2023 · 2023-03-23..03-24· [webassembly, databases]
slides:none on file

libSQL, a fork of SQLite, adds a real CREATE FUNCTION implementation that stores Wasm binaries in an internal table so functions survive restarts and become immediately available across nodes, runs modules via Wasmtime or WasmEdge, and translates types between SQL and Wasm. Rust code compiles to Wasm with libsql_bindgen and automatic ABI translation. The build demonstrates concrete size tricks and tooling to shrink binaries to about 20 KB, supports aggregates and window functions, and runs in-browser and server-mode sqld.

AI-written summary · about

  1. 0:00Introduction
  2. 0:25Background
  3. 0:40Problem
  4. 3:11Architecture
  5. 3:41Userdefined functions
  6. 3:53Existing userdefined functions
  7. 5:48C functions
  8. 6:14SQL functions
  9. 6:54User defined functions
  10. 7:48Register functions
  11. 8:11Calling WebAssembly functions
  12. 9:44Calling with with parameters
  13. 9:56Bonus slide
  14. 10:22Implementation details
  15. 11:25ABI
  16. 12:29Type mapping
  17. 13:06Rust functions
  18. 13:58Rust playground
  19. 14:20Bloat
  20. 15:41Optimization
  21. 16:24Standard Library
  22. 17:28Opt
  23. 18:05Twiggy
  24. 18:29Top offenders
  25. 18:59Dominators
  26. 19:28Twiggy Garbage
  27. 20:10We Outlook
  28. 21:14Optimization table
  29. 21:55Virtual machine
  30. 22:13Underlying implementations
  31. 23:10AwesomeEdge support
  32. 23:54Optimizations
  33. 25:03Wasm SQL
  34. 27:16Deployed serverside SQL
  35. 28:20Open contribution
  36. 28:40Thanks
  37. 29:17Performance analysis
  38. 30:01Why WebAssembly
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.