extensions

package
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package extensions is the quicSQL server's standard extension bundle. Blank- importing it registers a curated, network-safe set of gosqlite extensions on every connection the server opens, so clients can use them through ordinary SQL — REGEXP, FTS5 (built into the engine), vec0 vector search, spellfix1, r-tree, and a spread of pure-compute functions.

import _ "quicsql.net/extensions"

The default quicsql daemon imports this. An in-process embedder that wants the same batteries imports it too; one that wants a different set imports the specific gosqlite.org/ext/<name>/auto packages (and gosqlite.org/vec) it needs before calling serverd.Run. Either way this is a SERVER-SIDE decision: the engine is composed by the binary, and clients inherit whatever it registered — a client cannot add or change extensions over the wire.

What is bundled

Pure-computation functions and self-contained virtual tables only: regexp, spellfix1, r-tree, bloom filters, statistical/aggregate/text/time/unicode/ hashing/uuid/decimal/money/fuzzy functions, generate_series, pivot, z-order, base/hex encoding, IP-address helpers, the transitive-closure graph vtab, and vec0 vector search. FTS5 is compiled into the engine, so it needs no import.

What is deliberately EXCLUDED (opt in via a custom server build)

Anything that touches the host filesystem or evaluates arbitrary SQL is unsafe to expose by default on a network server, so it is not bundled here: fileio, csv, lines, blobio (filesystem), and eval / statement (arbitrary evaluation). A deployment that genuinely needs one builds its own binary that imports the specific ext/<name>/auto package and calls serverd.Run.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL