/DeodeokDB

Writing a simple database based on sqlite using C

Primary LanguageCMIT LicenseMIT

DeodeokDB

Usage

Build & Run

make
./main test.db

Test

bundle install
make test

Commands

Select

select
(1, user1, person1@example.com)
(2, user2, person2@example.com)
(3, user3, person3@example.com)

Insert

# id name email
insert 1 user user@user.com

Btree

.btree
Tree:
- internal (size 1)
  - leaf (size 7)
    - 1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
  - key 7
  - leaf (size 8)
    - 8
    - 9
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15

Constants

.constants
Constants:
ROW_SIZE: 293
COMMON_NODE_HEADER_SIZE: 6
LEAF_NODE_HEADER_SIZE: 14
LEAF_NODE_CELL_SIZE: 297
LEAF_NODE_SPACE_FOR_CELLS: 4082
LEAF_NODE_MAX_CELLS: 13

Debugging (Visual Studio Code)

  1. Install CodeLLDB extension
  2. Check tasks.json and launch.json
  3. Set breakpoints
  4. Run(F5)

Update