Skip to content

A lightweight, type-safe in-memory database optimized for OLTP workloads.

License

Notifications You must be signed in to change notification settings

xiahualiu/PawnDB

Repository files navigation

Actions Status Actions Status Actions Status Actions Status Actions Status

PawnDB

An ultra lightweight & fast, portable & type-safe in-memory database optimized for OLTP workloads.

PawnDB Wiki

PawnDB Doxygen Docs

Language

License

MIT License

Build the Project

Prerequisites

Hard requirements:

  • clang version > 16.0, or gcc version > 8.0.

  • cmake version > 3.20.

  • ninja build system.

  • doxygen for generating document html. (Optional)

  • gcovr for showing test coverage report. (Optional)

  • clang-format version > 18.0. (Optional)

Build and run the standalone target

Use the following command to build and run the executable target.

cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target pawndb-app
./build/standalone/pawndb-app

Build and run test suite

Use the following commands from the project's root directory to run the test suite.

cmake -S . -B build -DPAWNDB_ENABLE_TEST -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target clean-coverage
cmake --build build --target run-all-tests
cmake --build build --target show-test-coverage

Check clang-format

cmake -S . -B build -DPAWNDB_ENABLE_STYLE -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target check-clang-format

Apply clang-format

cmake -S . -B build -DPAWNDB_ENABLE_STYLE -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target apply-clang-format

Build Docs

cmake -S . -B build -DPAWNDB_ENABLE_DOXYGEN -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain/clang.cmake
cmake --build build --target doxygen

About

A lightweight, type-safe in-memory database optimized for OLTP workloads.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published