oxisqlite-sqlite3-parser 0.2.0

SQL parser (as understood by SQLite)
Documentation

oxisqlite-sqlite3-parser

Pure-Rust SQLite3 SQL parser and lexer — a COOLJAPAN C-free fork of the limbo 0.0.22 parser, internal to the OxiSQL workspace.

This crate is part of the C-free oxisqlite engine fork. The parser (src/parser/generated/parse.rs) and keyword table (src/dialect/generated/keywords.rs) are pre-generated and committed directly — no C compiler, no lemon.c parser generator, no build script, no cc crate dependency.

  • Approx LOC: ~14,800.
  • Internal: private member of the OxiSQL workspace; not published separately.

SQLite3 Grammar Coverage

The lexer and parser cover the full SQLite3 grammar, including:

  • DDL: CREATE TABLE, CREATE INDEX, CREATE VIEW, CREATE TRIGGER, CREATE VIRTUAL TABLE, ALTER TABLE, DROP ...
  • DML: SELECT, INSERT, UPDATE, DELETE, REPLACE
  • TCL: BEGIN, COMMIT, ROLLBACK, SAVEPOINT, RELEASE
  • Utility: ATTACH, DETACH, PRAGMA, ANALYZE, VACUUM, REINDEX, EXPLAIN

Parser Features

  • Tracks line and column positions.
  • Streamable: stops at the end of each statement.
  • Resumable: restarts after the end of a statement.
  • Builds a typed AST.

Extra Consistency Checks

See checks.md for the semantic checks applied on top of the grammar.

Minimum Supported Rust Version

Latest stable Rust at time of release. Building requires no C toolchain.

Fork lineage & licensing

Full attribution, the upstream commit, and per-component licensing for this fork are recorded in the repo-root /NOTICE. Upstream limbo code remains under MIT; COOLJAPAN code is licensed under Apache-2.0.

Part of the OxiSQL workspace.