aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* remove support for SQL dialects that rely on LastInsertId()Stefan Majewsky2026-04-246-338/+122
| | | | | | | | | | While researching for Upsert(), I noticed that both SQLite and MariaDB support INSERT with RETURNING clause, which is objectively better than LastInsertId() and cuts out a lot of useless crap from the codebase (esp. from monomorphization-relevant methods). The only tangible downside is that this drops support specifically for MySQL, but you know what? Fuck Oracle.
* add query planning for Upsert()Stefan Majewsky2026-04-233-4/+99
|
* change Store.Insert() to take arguments by pointerStefan Majewsky2026-04-194-42/+52
| | | | | | | | This increases memory overhead slightly, but when converting Gorp uses into Oblast, I saw that there is a legitimate risk of just ignoring the result value and continuing with the unupdated records. So according to the design priorities that I myself laid down, I'm sacrificing some performance for safety of use.
* notes from trying Oblast in https://github.com/sapcc/castellumStefan Majewsky2026-04-181-0/+2
|
* README: refer to GitHub mirrorStefan Majewsky2026-04-181-0/+6
|
* v0.2.0v0.2.0Stefan Majewsky2026-04-181-1/+1
|
* add StructTagKeyIsStefan Majewsky2026-04-184-10/+31
| | | | | Forgot this in 0.1.0. Without this, I cannot migrate existing Gorp users because Gorp does not understand `db:",auto"`.
* v0.1.0v0.1.0Stefan Majewsky2026-04-181-0/+9
|
* add type PreparedSelectQueryStefan Majewsky2026-04-184-24/+205
|
* update repo descriptionStefan Majewsky2026-04-181-1/+1
|
* write out a proper READMEStefan Majewsky2026-04-182-5/+38
|
* fix Store.Insert() failing on tables without auto columnsStefan Majewsky2026-04-182-15/+68
|
* more test coverage, forbid non-zero auto columns during Insert()Stefan Majewsky2026-04-184-24/+264
|
* add TODOs for the remaining things that I want for 1.0Stefan Majewsky2026-04-172-0/+4
|
* benchmark: add GormStefan Majewsky2026-04-174-37/+126
|
* minimize function bodies for generic Insert function(s)Stefan Majewsky2026-04-171-37/+78
|
* Makefile: add benchmark targetStefan Majewsky2026-04-171-0/+3
|
* remove more instances of defer()Stefan Majewsky2026-04-172-12/+8
|
* reduce function body size for Update(), Delete()Stefan Majewsky2026-04-171-49/+54
|
* add type preparedStatement to simplify write opsStefan Majewsky2026-04-171-60/+65
|
* basic test coverage for Insert, Update, DeleteStefan Majewsky2026-04-173-3/+155
|
* improve test coverage, error reporting for Select()Stefan Majewsky2026-04-177-106/+242
|
* fix lintsStefan Majewsky2026-04-171-1/+1
|
* add Store.Update()Stefan Majewsky2026-04-163-7/+181
|
* add PrepareThreshold tuning parameterStefan Majewsky2026-04-162-16/+49
|
* benchmark: compare batches of prepared vs. one-off statementsStefan Majewsky2026-04-161-57/+103
|
* take non-pointer records on Insert()Stefan Majewsky2026-04-162-11/+13
|
* increase test coverage for planningStefan Majewsky2026-04-154-18/+156
|
* before scanning, spawn member structs within pointers as necessaryStefan Majewsky2026-04-154-5/+106
|
* clarify behavior around recursing into struct type membersStefan Majewsky2026-04-154-56/+137
|
* add MysqlDialectStefan Majewsky2026-04-142-0/+75
|
* fold package internal into package oblastStefan Majewsky2026-04-147-124/+101
|
* initial test coverage for Store.Select functionsStefan Majewsky2026-04-147-31/+263
|
* add mock SQL driver for testsStefan Majewsky2026-04-131-0/+300
| | | | Ironically, not tested yet.
* reduce code duplication in benchmark testsStefan Majewsky2026-04-132-104/+54
|
* add initial sketches for Store.Insert, Store.UpdateStefan Majewsky2026-04-127-101/+390
| | | | Currently extremely bad performance for some reason. Need to investigate.
* add Store.SelectWhere, Store.SelectOneWhereStefan Majewsky2026-04-124-11/+158
|
* add Store.SelectOneStefan Majewsky2026-04-125-20/+141
|
* add Handle interfaceStefan Majewsky2026-04-122-4/+22
|
* reorganize the API from type DB to type StoreStefan Majewsky2026-04-119-239/+204
|
* BenchmarkSelect: test N=1/10/100/1000 all at onceStefan Majewsky2026-04-111-78/+81
|
* many more tests for query planningStefan Majewsky2026-04-112-21/+176
|
* reduce function body of Select() further, add context to errorsStefan Majewsky2026-04-112-15/+35
|
* use reflect.VisibleFields()Stefan Majewsky2026-04-111-25/+9
|
* reduce function body of Select()Stefan Majewsky2026-04-112-18/+46
|
* say no to ctxStefan Majewsky2026-04-113-4/+10
|
* move Select() to separate fileStefan Majewsky2026-04-102-50/+58
|
* generate INSERT/UPDATE/DELETE queries during BuildPlanStefan Majewsky2026-04-104-46/+188
|
* reorganize codeStefan Majewsky2026-04-1013-155/+245
|
* initial MVP for oblast.Select()Stefan Majewsky2026-04-107-1/+232
|