From 71ced998122c357bc62e54d9bb4e124c88acf94b Mon Sep 17 00:00:00 2001 From: nasr Date: Sun, 8 Mar 2026 21:01:43 +0000 Subject: refactor(main): worked on string handling in C and other stuff --- source/storage/b_tree.c | 45 --------------------------------------------- source/storage/b_tree.h | 44 -------------------------------------------- source/storage/csv_reader.c | 7 ------- source/storage/csv_reader.h | 43 ------------------------------------------- source/storage/table.c | 0 source/storage/table.h | 0 6 files changed, 139 deletions(-) delete mode 100644 source/storage/b_tree.c delete mode 100644 source/storage/b_tree.h delete mode 100644 source/storage/csv_reader.c delete mode 100644 source/storage/csv_reader.h delete mode 100644 source/storage/table.c delete mode 100644 source/storage/table.h (limited to 'source/storage') diff --git a/source/storage/b_tree.c b/source/storage/b_tree.c deleted file mode 100644 index 6a0e76d..0000000 --- a/source/storage/b_tree.c +++ /dev/null @@ -1,45 +0,0 @@ - -// TODO(nasr): 1. splitting the tree when getting too big? (horizontally) 2. joining trees? - -internal b_tree_node * -node_alloc(mem_arena *arena) -{ - b_tree_node *node = PushStructZero(arena, type); - node->leaf = 1; - return node; -} - -// NOTE(nasr): @return the index of of the found element -internal i32 -node_find_pos(mem_arena *arena, string8 value) -{ - i32 i = 0; - while (i < n->key_count && str8_cmp(n->keys[i], k) < 0) - { - ++i; - } - - return i; -} - -// NOTE(nasr): nodes that get passed as parameters should've already been loaded into memory -internal void -b_tree_search(node *node) -{ - - -} - -internal void -b_tree_insert() -{ - -} - -internal void -b_tree_write() -{ - // TODO(nasr): write the b_tree to disk -} - - diff --git a/source/storage/b_tree.h b/source/storage/b_tree.h deleted file mode 100644 index 10ad00d..0000000 --- a/source/storage/b_tree.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef BTREE_H -#define BTREE_H - -// maximum height of the tree the lower the lower the lower amount -// of disk reads which translates into faster? -#define B_TREE_ORDER 4 - -typedef struct b_tree_node b_tree_node; -struct b_tree_node -{ - - // store the values - string8 keys[B_TREE_ORDER - 1]; - csv_row *rows[B_TREE_ORDER - 1]; - - b_tree_node *parent; - // handle to store children faster than linked list - // because now we can iteratate over the nodes instead of having cache misses - // when jumping through linked nodes - b_tree_node *children[B_TREE_ORDER]; - - // NOTE(nasr): reference count ::: check how many leaves are using this node - // also not needed for now because we don't free individual node because of arena allocator - // i32 *refc; - - i32 key_count; - - b32 leaf; - -}; - -typedef struct b_tree b_tree; -struct b_tree -{ - // NOTE(nasr): make sure this always stays in memory - // so that initial fetch never requires a disk read - b_tree_node *root; - -}; - - - - -#endif /* BTREE_H */ diff --git a/source/storage/csv_reader.c b/source/storage/csv_reader.c deleted file mode 100644 index 2fcbe04..0000000 --- a/source/storage/csv_reader.c +++ /dev/null @@ -1,7 +0,0 @@ -internal void -read_csv(string8 buffer) -{ - printf("\nsize:%lu\ndata %s\n", buffer.size, buffer.data); - -} - diff --git a/source/storage/csv_reader.h b/source/storage/csv_reader.h deleted file mode 100644 index 36e07a4..0000000 --- a/source/storage/csv_reader.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef CSV_READER_H -#define CSV_READER_H - -typedef struct csv_row csv_row; -struct csv_row -{ - // array of size col_count, points into mmap buffer - string8 *fields; - i32 count; -}; - -typedef struct csv_table csv_table; -struct csv_table -{ - // first row, col names - // all data rows - string8 *headers; - csv_row *rows; - i32 col_count; - i32 row_count; -}; - -read_only global_variable -csv_row nil_csv_row = -{ - .fields = &nil_string, - .count = 0, -}; - - - -read_only global_variable -csv_table nil_csv_table = -{ - .headers = &nil_string, - .rows = &nil_csv_row, - .col_count = 0, - .row_count = 0, -}; - - - -#endif /* CSV_READER_H */ diff --git a/source/storage/table.c b/source/storage/table.c deleted file mode 100644 index e69de29..0000000 diff --git a/source/storage/table.h b/source/storage/table.h deleted file mode 100644 index e69de29..0000000 -- cgit v1.3