summaryrefslogtreecommitdiff
path: root/README.md
blob: 0215846509a9c32536cefa1dde745a8fb5f6a2e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# mdb
mdb is a simple embedded key-value database written in C.

## Table of Contents
- [Installation](#Installation)
- [Reference](#Reference)
- [Removal](#Removal)
- [License](#License)

## Installation
In order to install mdb clone this repository then run:\
```sudo make install```

## Reference
There are four basic commands in mdb:
- exit: exits the program
- GET: gets a given key-value pair from a given object
- SET: sets a given key-value pair in a given object
- DEL: deletes a given key-value pair from a given object
#### Syntax
The basic layout of a command looks like this:\
```cmd s/params/```
- `cmd` represents the command you're trying to execute
- `s` represents the selector.\
If `s` is a number, it will execute the command on that specific object.\
If `s` is an `*` it will execute the command on every object.
- `/params/` represents any paramaters\
that the command may need to execute properly.\
All parameters are separated by a `/`.

Examples:
- `GET *` - gets every key-value pair from every object.
- `SET 0/name:John` - sets the key `name` to the value `John` in object 0.
- `DEL */name` - deletes every key `name` from every object.
### API Reference
There are six functions in mdb.h
- readdb: reads a database from a given file
- writedb: writes a database to a given file
- getkeys: gets every key-value pair from a given object
- getkey: gets a single key-value pair from a given object
- setkey: sets a given key-value pair in a given object
- delkey: deletes a given key-value pair from a given object

## Removal
In order to remove mdb run:\
```sudo make remove```\
or run:\
```sudo make uninstall```

## License
This software is licensed under the BSD-2-Clause [License]("./LICENSE")