goyesql
ccgo
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
goyesql
-
How to deal with long select query in go?
Write it in a sql file then use a library like https://github.com/knadh/goyesql to load them into a struct. I prefer doing this with all my code. The SQL is also auditable.
-
We Went All in on Sqlc/Pgx for Postgres and Go
sqlc looks very interesting and compelling. A similar library I like but haven't had the chance to really use is goyesql: https://github.com/knadh/goyesql
It also allows just writing SQL in a file, reminds me a bit of JDBI in Java.
ccgo
-
Tcl Ported to Go
Is "ported" the right term here? It know the repo's README says "CGo-free port", but this is the C version of TCL transpiled from C to Go (see the ~13MB .go files per platform in the "lib" directory). Which is a very cool idea, and the author has done the same thing with SQLite, to avoid CGo (https://gitlab.com/cznic/sqlite).
Here's a link to his C to Go translator: https://gitlab.com/cznic/ccgo
-
Go performance from version 1.2 to 1.18
Totally agreed: almost all users (me/GoAWK included) want performance and don't care nearly as much about simplicity under the hood. Simplicity of implementation is of value for educational purposes, but we could easily have a small, simple 3rd party package for that. Go's regexp package is kinda too complex for a simple educational demonstration and too simple to be fast. :-)
I actually tried BurntSushi's https://github.com/BurntSushi/rure-go (bindings to Rust's regex engine) with GoAWK and it made regex handling 4-5x as fast for many regexes, despite the CGo overhead. However, rure-go (and CGo in general) is a bit painful to build, so I'm not going to use that. Maybe I'll create a branch for speed freaks who want it.
I've also thought of using https://gitlab.com/cznic/ccgo to convert Mawk's fast regex engine to Go source and see how that performs. Maybe on the next rainy day...
-
CGo-free SQLite adds windows/amd64 support
FYI it uses facility to translate C to go (https://gitlab.com/cznic/ccgo), there is a similar project does the same thing (https://github.com/elliotchance/c2go).
-
We Went All in on Sqlc/Pgx for Postgres and Go
It's not really pure go, it's transpiled using https://gitlab.com/cznic/ccgo
Just about all the code looks like this:
// Call this routine to record the fact that an OOM (out-of-memory) error
-
CXGO: C to Go Translator written entirely in Go
It would be interesting to read a comparison against https://gitlab.com/cznic/ccgo
What are some alternatives?
bazel-postgres-sketch
go - The Go programming language
sqlparser-rs - Extensible SQL Lexer and Parser for Rust
regex-benchmark - It's just a simple regex benchmark of different programming languages.
pggen - Generate type-safe Go for any Postgres query. If Postgres can run the query, pggen can generate code for it.
pggen - A database first code generator focused on postgres
sqlite
gnorm - A database-first code generator for any language
goqu - SQL builder and query library for golang
pike - Generate CRUD gRPC backends from single YAML description.
rules_nixpkgs - Rules for importing Nixpkgs packages into Bazel.
rure-go - Go bindings to Rust's regex engine.