Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
It could be clearer in the readme, but note that this is a machine translation from C to Go, repeated for every OS-Arch pair. Example of the one you're most likely to use in production: https://gitlab.com/cznic/sqlite/-/blob/master/lib/sqlite_linux_amd64.go
I have an OSS project, sq which is a data-wrangling swiss-army knife for structured data. Think of it as jq for databases. It supports Postgres, SQLServer, MySQL and - relevantly - SQLite. It embeds SQLite via CGo and the mattn/go-sqlite3 driver.
More recently, a lot of my pipeline pain is handled by GoReleaser, but before GoReleaser matured, I got up to all sorts of shenanigans to get a workable toolchain, e.g. neilotoole/xcgo.
More recently, a lot of my pipeline pain is handled by GoReleaser, but before GoReleaser matured, I got up to all sorts of shenanigans to get a workable toolchain, e.g. neilotoole/xcgo.
Thankfully I no longer need to maintain xcgo, but even today, the sq pipeline is still complex with lots of platform-dependent bits.
For another way of doing SQLite without CGo, see github.com/ncruces/go-sqlite3.
Related posts
- How do you handle scanning of db.Rows?
- Building a Simple TODO App with Gin-gonic in Zerops: A step-by-step Guide
- Show HN: A comprehensive, efficient, and reusable util function library of Go
- Using test helpers in Go
- GitHub issues from top Open Source Golang Repositories that you should contribute to