Endatabas is a SQL document database with full history.
For more information, please contact us at [email protected].
Endatabas is in Beta and is experimental software. Learn more by reading our roadmap.
- Quickstart
- Installation (additional methods)
- https://docs.endatabas.com/ contains a tutorial, reference docs, and SQL language reference.
- ARCHITECTURE.md contains a high-level overview of the implementation.
Install https://www.sbcl.org/
On Ubuntu:
sudo apt install sbcl
On MacOS:
brew install sbcl
Note: SBCL 2.4.4 is currently the latest version that works due to an issue in fset.
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
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
Install https://podman.io/ or Docker:
sudo apt install podman podman-docker
Build the image:
make docker
Run the image:
make run-docker
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 2023-2024 Håkan Råberg and Steven Deobald.
Licensed under the GNU Affero General Public License v3.0.