Schema generated go-lang interfaces coupled with type-safe query language. (aka, a handicapped jOOQ ripoff for go)
I'm going to have to abandon this project until I find a way to use go's mixins and structs to accomplish my goal of static typing grammars in Go.
For nulls, go has a comma ok idiom, which is why each field access will need to be a method.
Go does not have constructors, so need to use factory methods.
For schema APIs, methods will be collected into interfaces.
Since go doesn't have generics, a schema specific version of the query dsl will be need to be created.
Current Plan:
- Do a pass by hand.
- Use jOOQ's manual's db
- Create go apis as close to their manual as go will allow.
- Do a SQL-gen prototype.
- A manual Java to Go like rsc's c2go of jOOQ's apache licensed stuff.
- minimial required to get api done previously executing.
- Do a code-gen prototype.
- Connect to MySQL setup of the db from 1 and get the api written generated.
- Polish up code-gen prototype with WebERP's schema
- Polish up the SQL-gen with queries translated from WebERP's PHP.
- Implement preparedStatment caches, batching, connection pooling and other performance items.
Notes:
- go get github.com/libliflin/gooq
- go build ./...
- go test
URLs: