Skip to content

jlam55555/cudb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cudb (a.k.a. cuda++)

Simple document-based noSQL DBMS modelled after MongoDB. (Has nothing to do with CUDA, has a lot to do with the Cooper Union and DataBases.)

ECE464 Final project by Jonathan Lam, Derek Lee, Victor Zhang

API documentation | Functional and architectural overview | Presentation


Build instructions

cargo is required to build this project.

$ cargo build                     # build library in src/
$ cargo run --example [EXAMPLE]   # run example examples/
$ cargo test -- --test-threads=1  # run unit tests in tests/
$ cargo doc --no-deps             # build documentation
$ cargo clean                     # delete build artifacts
Open documentation in browser
$ cargo doc --no-deps --open
Build documentation to docs/
$ ./build_docs.sh
Run example

See the examples/ directory. For example:

$ cargo run --example index_perf
Test config
$ cargo test -- --nocapture --test-threads=1
  • --no-capture: Show stdout even when the test fails.
  • --test-threads=1: Prevent running in parallel. This is to prevent multiple concurrent access to the database file.

To run a single test:

$ cargo test [TEST_FN_NAME] -- --nocapture --test-threads=1

where [TEST_FN_NAME] is one of the tests defined in the tests/ directory, e.g., test_pool_fetch.

About

Simple document-based NoSQL DBMS from scratch

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •