/endb

SQL document database with full history.

Primary LanguageCommon LispGNU Affero General Public License v3.0AGPL-3.0

Endatabas

Docker Twitter Mastodon YouTube

Build License: AGPL v3

Endatabas is a SQL document database with full history.

For more information, please contact us at hello@endatabas.com.

Status

Endatabas is experimental software. Learn more by reading our roadmap.

Installation

Documentation

Building

Install https://www.sbcl.org/

On Ubuntu:

sudo apt install sbcl

On MacOS:

brew install sbcl

Initialise submodules:

git submodule update --init --recursive

Install https://www.rust-lang.org/

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Run the tests and build the binary:

make

Sqllogictest

See https://www.sqlite.org/sqllogictest/

Install gcc or Clang which is needed to build the test runner. On MacOS, Clang will be automatically installed. On Ubuntu:

sudo apt install build-essential

Build and run sanity checks. We patch the build slightly to inject our own database engine:

make slt-test

Docker

Install https://podman.io/ or Docker:

sudo apt install podman podman-docker

Build the image:

make docker

Run the image:

make run-docker

Development Environment

Make sure to initialise ASDF source registry in the current REPL via:

(load "_build/setup.lisp")

Note, this will disable all other source registries in the current Lisp process. All Common Lisp dependencies are stored as submodules under _build. This directory is normally ignored by ASDF.

To ensure the submodules are up-to-date one can for example use git pull --recurse-submodules or:

make update-submodules

See https://lispcookbook.github.io/cl-cookbook/getting-started.html for details about Common Lisp development in general.

Copyright and License

Copyright 2023-2024 Håkan Råberg and Steven Deobald.

Licensed under the GNU Affero General Public License v3.0.