"DBGo" is a light-weight relational database engine implemented in Go programming language.
It is a programming exercise I gave to myself when I began to learn Go.
That's one epic programming exercise ;). Did anyone try how it performs, compared to SQLite?
I don't see any code for indexing, which should answer the performance question.
Which I don't mean to be derogative, he mentions "A flat-file relational database engine implementation" in every file, and it looks like it may be neat code to learn from when you're interested in Go.
I took a quick look at the code and noticed that error handling is not idiomatic Go. This might not be the best place to start if you want to learn Go.
8 comments
[ 2.8 ms ] story [ 30.5 ms ] thread"DBGo" is a light-weight relational database engine implemented in Go programming language. It is a programming exercise I gave to myself when I began to learn Go.
That's one epic programming exercise ;). Did anyone try how it performs, compared to SQLite?
Which I don't mean to be derogative, he mentions "A flat-file relational database engine implementation" in every file, and it looks like it may be neat code to learn from when you're interested in Go.
fi, err := directory.Readdir(0) if err != nil { db = nil logg.Err("database", "Open", err.String()) return db, st.CannotReadDatabaseDirectory }
This fragment of code is not idiomatic because st.CannotReadDatabaseDirectory is not an os.Error.
I think even os.Error is not idiomatic anymore, they move Error outside the os package to a type of it's own in a later version.