API Reference exsql v#0.1.4

Copy Markdown

Modules

Ecto SQL adapter for ExSQL.

A SQLite implementation in pure Elixir.

An ALTER TABLE statement.

A column definition inside CREATE TABLE.

A compound SELECT: two queries joined by UNION [ALL], INTERSECT, or EXCEPT.

A CREATE [UNIQUE] INDEX [IF NOT EXISTS] name ON table(cols) [WHERE expr] statement.

A CREATE TABLE statement.

A CREATE TRIGGER statement.

A CREATE VIEW [IF NOT EXISTS] name [(cols)] AS select statement.

A DELETE FROM ... [WHERE ...] statement.

A DROP INDEX [IF EXISTS] name statement.

A DROP TABLE [IF EXISTS] ... statement.

A DROP VIEW [IF EXISTS] name statement.

An INSERT (or REPLACE INTO) statement.

A supported PRAGMA statement.

A SELECT statement.

An UPDATE [OR ...] ... SET ... [WHERE ...] statement.

A bare VALUES (...), (...) select. Output columns are named column1..columnN, as in SQLite. Usable anywhere a SELECT is: as a statement, a compound component, a subquery, or a FROM source.

A WITH [RECURSIVE] cte_name [(cols)] AS (query) [, ...] <select> statement.

A stateful database handle, holding an ExSQL.Database value in a GenServer.

An immutable in-memory database: a schema of named tables.

SQLite-compatible date/time scalar functions.

Exception raised (internally) and returned (externally) for SQL errors.

Statement execution against an ExSQL.Database.

Reads the SQLite on-disk file format (btree.c / btreeInt.h territory) into an ExSQL.Database value.

The json1 function family's data layer: a JSON parser/renderer over an order-preserving representation, plus path navigation ($.a.b[0], $[#-1]).

A logical redo log with an async writer, the BEAM-native answer to SQLite's WAL + checkpoint.

Recursive-descent parser producing ExSQL.AST structs.

An in-VM "commit version" per database path.

The result of executing one statement.

A runner for SQLite's sqllogictest conformance corpus (https://sqlite.org/sqllogictest) — the cross-engine suite of millions of generated queries with stored results.

In-memory table storage.

Lexical analysis for SQL text.

SQLite's value semantics: storage classes, type affinity, comparison ordering, arithmetic, and three-valued logic.

A small register virtual machine, in the spirit of SQLite's VDBE (vdbe.c). ExSQL.Executor walks the AST directly; for the common single-table scan/filter/project shape it instead compiles the statement to a flat opcode program (see ExSQL.Executor.compile_vdbe/3) and runs it here, avoiding the per-row environment construction and recursive expression descent of the tree walker.

Mix Tasks

Runs SQLite's sqllogictest conformance corpus against ExSQL and reports a score.