https://github.com/exbotanical/pageboy
memory-mapped, B-Tree database and query language
https://github.com/exbotanical/pageboy
btree database memory-mapping mmap query-language
Last synced: 19 days ago
JSON representation
memory-mapped, B-Tree database and query language
- Host: GitHub
- URL: https://github.com/exbotanical/pageboy
- Owner: exbotanical
- License: mit
- Created: 2021-07-06T15:53:29.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-14T14:01:14.000Z (over 3 years ago)
- Last Synced: 2025-10-21T09:04:26.267Z (8 months ago)
- Topics: btree, database, memory-mapping, mmap, query-language
- Language: C
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pageboy
`pageboy` is a memory-mapped data store that utilizes a B-Tree to organize records in pages on-disk.
The frontend supports a query language and REPL interface, converting instructions into byte code sequences that are then executed by a core virtual machine.
This virtual machine is a finite state machine interlaced with a statement preparer.
## Components
- REPL: frontend interface for query language execution
- Virtual Machine: state machine for reducing prepared statements into scalar primitives
- Preparer: state machine for creating prepared statements that are then sent to the VM to be executed
- Pager: responsible for memory mapping and process management
- Cursor: tbd
## Test Coverage
`pageboy` is tested with `shpec` and a custom `TAP` harness
Invoke test suite(s):
```shell
shpec __tests__/main.shpec.bash
```