<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go-oblast/plan.go, branch v0.17.0</title>
<subtitle>A small ORM library for Go, focused on type safety and performance</subtitle>
<id>http://git.xyrillian.de/go-oblast/atom/plan.go?h=v0.17.0</id>
<link rel='self' href='http://git.xyrillian.de/go-oblast/atom/plan.go?h=v0.17.0'/>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/'/>
<updated>2026-09-17T14:51:17Z</updated>
<entry>
<title>rebase onto gg@v1.16.0/oblast</title>
<updated>2026-09-17T14:51:17Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-09-17T14:51:17Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=1825c3040f5ee71ad26185a7a08f2657ede94df5'/>
<id>urn:sha1:1825c3040f5ee71ad26185a7a08f2657ede94df5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add func TupleSelect/TupleSelectOne/TupleSelectOneOrNone</title>
<updated>2026-09-15T15:31:33Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-09-15T15:29:51Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=e6b575dfd03f0aa953823a48520dc30556705dee'/>
<id>urn:sha1:e6b575dfd03f0aa953823a48520dc30556705dee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix recursion into non-embedded struct fields</title>
<updated>2026-09-07T09:51:17Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-09-07T09:51:17Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=999a9b714c86c9845c20746dfa9abd746b710342'/>
<id>urn:sha1:999a9b714c86c9845c20746dfa9abd746b710342</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add ReadOnly plan option</title>
<updated>2026-08-26T19:49:42Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-08-26T19:49:42Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=50c91a360ac3f42682d998a826087c4bb41d0af4'/>
<id>urn:sha1:50c91a360ac3f42682d998a826087c4bb41d0af4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cache buildPlan results</title>
<updated>2026-07-17T17:35:55Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-07-17T17:35:55Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=1383c6fbaa6b9e0b7cc5e44b74a905352d596758'/>
<id>urn:sha1:1383c6fbaa6b9e0b7cc5e44b74a905352d596758</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bring back support for LastInsertId-based INSERT</title>
<updated>2026-05-22T12:01:24Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-05-22T12:01:24Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=764eaf643e323b92a616fc8e6a193855bb43d905'/>
<id>urn:sha1:764eaf643e323b92a616fc8e6a193855bb43d905</id>
<content type='text'>
As the remaining TODO noted, this really is much more memory-efficient
than QueryRow when we can use it, since it does not allocate an
*sql.Rows instance inside the *sql.Row instance where we call Scan().
</content>
</entry>
<entry>
<title>Insert, Upsert, Update, Delete: do not panic on indirection through nil pointer</title>
<updated>2026-05-12T22:40:24Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-05-12T22:39:22Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=2fe6a5a42ccb663211f4f4804b78fff3bd9ebdc0'/>
<id>urn:sha1:2fe6a5a42ccb663211f4f4804b78fff3bd9ebdc0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove support for SQL dialects that rely on LastInsertId()</title>
<updated>2026-04-24T13:41:00Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-24T13:41:00Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=027641ef9efec9ed5dfc463d9c2f38c32716d9b5'/>
<id>urn:sha1:027641ef9efec9ed5dfc463d9c2f38c32716d9b5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>add query planning for Upsert()</title>
<updated>2026-04-23T14:26:22Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-23T14:26:22Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=9749eb317d39caa794cc27ef954656167cac487a'/>
<id>urn:sha1:9749eb317d39caa794cc27ef954656167cac487a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add StructTagKeyIs</title>
<updated>2026-04-18T15:35:08Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-18T15:35:07Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=f03f6e90c725a1de9e2b62e8e4aeab5ff6ec4b80'/>
<id>urn:sha1:f03f6e90c725a1de9e2b62e8e4aeab5ff6ec4b80</id>
<content type='text'>
Forgot this in 0.1.0. Without this, I cannot migrate existing Gorp users
because Gorp does not understand `db:",auto"`.
</content>
</entry>
</feed>
