Connectors / Databases

SQLite

source

SQLite query source

Install

cargo install faucet-cli --features source-sqlite
faucet init --source sqlite
# Cargo.toml — use it as a library
cargo add faucet-source-sqlite

Starter config

source:
  type: sqlite
  config:
    database_url: ""    # REQUIRED — SQLite database URL (file path or `sqlite::memory:`).
    query: ""    # REQUIRED — SQL query to execute.
    # max_connections: 10    # Maximum number of connections in the pool.
    # batch_size: 1000    # Records per emitted `StreamPage`.
    # shard: null    # Optional primary-key range sharding for clustered (Mode B) execution.
    # sandbox: false    # Confine the query to the opened database: every connection refuses `ATTACH` (and `VACUUM INTO`, which attaches its target).

Capabilities

Replay Non-deterministic replay
Exactly-once replay No
Incremental No
Dataset discovery Yes
Reports lag No
Compression No

Config fields

FieldTypeDefaultDescription
database_url
required
string — SQLite database URL (file path or sqlite::memory:).
query
required
string — SQL query to execute.
max_connections integer 10 Maximum number of connections in the pool. Defaults to 10.
batch_size integer 1000 Records per emitted StreamPage. Rows are drained from the sqlx cursor and yielded whenever the buffer reaches this size. Defaults to DEFAULT_BATCH_SIZE.
shard object — Optional primary-key range sharding for clustered (Mode B) execution.
sandbox boolean — Confine the query to the opened database: every connection refuses ATTACH (and VACUUM INTO, which attaches its target). Extension loading is always off. Defaults to false. faucet serve forces it on for every config it did not load from its own triggers file.
Get started

Your first pipeline runs in five minutes.

Install the CLI, scaffold a config, and move real data — nothing external to stand up.

curl -LsSf https://github.com/faucet-hq/faucet-stream/releases/latest/download/faucet-cli-installer.sh | sh
brew install faucet-hq/faucet-stream/faucet-cli