| tag name | v0.3.0 (ba347e7bde242b0c03c2d9c50d1902d8e768467b) |
| tag date | 2026-04-30 01:55:17 +0200 |
| tagged by | Stefan Majewsky <majewsky@gmx.net> |
| tagged object | commit a25fed853f... |
| download | go-oblast-0.3.0.tar.gz |
|---|
v0.3.0 (2026-04-30)
API changes:
- All `Store` methods that run DB operations now take a `context.Context` argument.
The previous decision to avoid `ctx` arguments was based on benchmarking using `b.Context()`,
where it turns out that we just benchmarked those particular stacked contexts being inefficient.
- `Store.Insert()` now takes its arguments by-pointer. This is probably slightly less efficient,
but significantly safer because autogenerated field values cannot be disregarded by accident.
- Add `Store.Upsert()`.
- Removed support for SQL dialects that rely on LastInsertId() for ID columns.
Using a RETURNING clause to collect autogenerated field values is better in many ways,
and has been supported by both MariaDB and SQLite for at least six years.
In practice, this only drops support specifically for Oracle MySQL.
Other changes:
- Removed an unnecessary memory allocation and copy within `Select()` and `SelectWhere()`.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEu0Hjc9sDkJFtIyv/1gGaPhfKLZYFAmnymmwACgkQ1gGaPhfK
LZYXKg/8DGH8OFno+wQnPALT+P8V1Z14gx2mQM/lnm1R2RBfFyFQEpo7+IvaNUCt
JcgHnDq2es+i8XIJIFRxgx9FCzRUROg76fM9UxkdASSTfUUdm/zJ9PCUYnkg3tmu
tHhS4xeofkKt2QfKiXMtUcSl90p5cMtMXE/ojWWpay5/EazzvGdbLCMvLrQrCwPZ
f218iUST+Nu/u3wRU2qMj/QrnNcMsXmP51jTt90hEx2KCCV/zXBzCXimCB5T8HuM
KROsdCvVtqsYS1ZWMCEUvQnB9eYPuty0sr1auG+o+5hU8lie9f+XkrFuZnnrf24S
q8gtvvximXz07Ovgzru/7IuLi0PlUwatTsrqAUhfW2/Im0sLN8p92rCc3dorLkDf
v7mCa5ChuJKKXrAJ5HOLE8mJjUYtVEmZDyjaDp9Wm9iKHEOTFmOER5Oji45zUpsm
jc/Lm2pj9jqF7SCke7yxQFrAYqN0OShUBiDhv6eecgPF0RwRB+SGbgYyfjVniq+O
Wqj+X3eriJnjXvSpkkTSHN72RpO4jz9GC4CyfyR40qdMwGVpad1woXJkDko/MVrw
6lSXR/yJOfhrG2Qy23ZgKcKoI7O1LGqVMTG9Cy/VwX67m+W0YBRvfYDrVVBd9K4r
sak4T5L7XfwjPkrgoBK5uVbIbvdWasP2wTkymTWmMldstX20Zi0=
=FF4X
-----END PGP SIGNATURE-----
