SeaQL / otter-sql

🦦 An Embeddable SQL Executor in Rust
Apache License 2.0
26 stars 2 forks source link

This is still WIP and essentially an unpublished project

OtterSQL

🦦 An Embeddable SQL Executor in Rust

[![crate badge](https://img.shields.io/crates/v/otter-sql)](https://crates.io/crates/otter-sql) [![docs badge](https://img.shields.io/docsrs/otter-sql)](https://docs.rs/otter-sql/latest) [![github workflow badge](https://github.com/SeaQL/otter-sql/actions/workflows/rust.yml/badge.svg)](https://github.com/SeaQL/otter-sql/actions/workflows/rust.yml)

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.

Introduction

See this blog post for an introduction of OtterSQL.

Using as a library

See the crate documentation.

Features

Currently implemented

In-progress or in the near future

In the far future

Contribution

Unless 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.

Mascot

Meet the official mascot of OtterSQL. He lives in the sea and loves reading books.