Cool accomplishment in and of itself but hard for anyone here to really give you any criticism or feedback without understanding where it excels and how to work with it.
Cool accomplishment in and of itself but hard for anyone here to really give you any criticism or feedback without understanding where it excels and how to work with it.
I think this clearly describes what was the goal.
Less than a minute and I know how to use it. It's not complicated. The source code is available and fairly easy. If you can't figure out how to use it in a trivial amount of time, you aren't going to be able to offer anything of value. When did HN go from being about interesting stuff to making bold, ignorant statements like "There is no way to look at this codebase and give any kind of feedback one way or the other without that understanding."
You should know better.
$ git clone git@github.com:Sahilb315/AtomixDB.git
Cloning into 'AtomixDB'...
$ cd AtomixDB/
$ go run .
Welcome to AtomixDB
Available Commands:
CREATE - Create a new table
INSERT - Add a record to a table
DELETE - Delete a record from a table
GET - Retrieve a record from a table
UPDATE - Update a record in a table
BEGIN - Begin new transaction
COMMIT - Commit transaction
ABORT - Rollback transaction
EXIT - Exit the program
> create
Enter table name: foo
Enter column names (comma-separated): bar,baz
Enter column types (comma-separated as numbers): 1,2
Enter indexes (format: col1+col2,col3, ... or leave empty):
Table 'foo' created successfully.
> get
Enter table name: foo
Select query type:
1. Index lookup (primary/secondary key)
2. Range query
3. Column filter
Enter choice (1, 2 or 3):
It looks like records are stored in rows: https://github.com/Sahilb315/AtomixDB/blob/64c95afa8e574595c...I do find the source to be well organized and quite readable. Especially if you runs the commands in the cli and then trace how they are each implemented.