A simple database created for the purposes of learning database architecture.
$ stack run dfdb
Welcome to DFDB
Enter "help" to get this text
Quit commands: :q, quit(), exit
dfdb > create table foo (string string, int int, bool bool,);
CREATE TABLE
dfdb > insert ('string', 1, true,) foo;
INSERT 1
dfdb > select (string, int,) foo where (int = 1,);
["string",1]
dfdb > create index foo_int foo (int,);
CREATE INDEX
dfdb > :q
$ stack run dfdb
Welcome to DFDB
Enter "help" to get this text
Quit commands: :q, quit(), exit
dfdb > select (string, int,) foo where (int = 1,);
["string",1]
dfdb > drop table foo;
DROP TABLE
dfdb > select (string, int,) foo;
Table does not exist
dfdb > :q
- If you want to start from scratch,
rm -rf .dfdb
- create, drop table
- insert
- select
- update
- nullable/non-nullable columns
- primitive types
- persist to disk
- primary keys
- foreign keys
- indexes
- query planning
- autocommit transactions
- transactions
For info about benchmarks, see benchmark.pdf.