This is still WIP and essentially an unpublished project
OtterSQL implements a generic intermediate code (IC) with an instruction set for tabular data operations. This IC can be used to make in-memory mocks of larger databases such as MySQL and SQLite. This IC is executed by the OtterSQL VM. This project also provides a frontend that compiles a generic dialect of SQL to the IC.
The primary goal for this project is to facilitate developers in testing their SQL-backed applications. The long term goal is to have an embeddable SQL VM for use in client-side applications.
Non-goals (for now): performance, concurrency, persistence, ACID compliance.
See this blog post for an introduction of OtterSQL.
CREATE TABLE
/CREATE SCHEMA
INSERT
valuesSELECT
ing specific columns)WHERE
clause of SELECT
) with complex expressionsLIMIT
ORDER BY
UPDATE
: executionSELECT
: codegen and executionUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Meet the official mascot of OtterSQL. He lives in the sea and loves reading books.