<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go-oblast/query.go, branch v0.9.0</title>
<subtitle>A small ORM library for Go, focused on type safety and performance
</subtitle>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/'/>
<entry>
<title>return a concrete type from Wrap() to enable non-Oblast DB operations</title>
<updated>2026-05-12T23:13:17+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-05-12T23:11:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=a561ebb42148c72638f943e44191da07c16df7f6'/>
<id>a561ebb42148c72638f943e44191da07c16df7f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Insert, Upsert, Update, Delete: do not panic on indirection through nil pointer</title>
<updated>2026-05-12T22:40:24+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-05-12T22:39:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=2fe6a5a42ccb663211f4f4804b78fff3bd9ebdc0'/>
<id>2fe6a5a42ccb663211f4f4804b78fff3bd9ebdc0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>clarify docstrings, put down TODOs based on review feedback</title>
<updated>2026-05-12T11:25:00+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-05-12T11:23:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=80c3fadf24fe9d784d876eec247fd6799af49c8a'/>
<id>80c3fadf24fe9d784d876eec247fd6799af49c8a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>change Handle to a generic interface without explicit dep on database/sql</title>
<updated>2026-05-12T11:11:41+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-05-12T11:11:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=7bdc14a145c4b5c380921abf1db3f2c00a9c66cc'/>
<id>7bdc14a145c4b5c380921abf1db3f2c00a9c66cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add ctx arguments to most methods</title>
<updated>2026-04-29T22:56:38+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T22:56:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=71d4c873bd12233b585637404115cfea9462c904'/>
<id>71d4c873bd12233b585637404115cfea9462c904</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>shave off some more allocations</title>
<updated>2026-04-29T22:26:10+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T22:26:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=24bfa86b90f7b9bec886af7e3e4f02fee25ce99c'/>
<id>24bfa86b90f7b9bec886af7e3e4f02fee25ce99c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>note to self: bad memory usage stats for Insert()</title>
<updated>2026-04-24T14:17:41+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-24T14:17:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=eeca7893949a6bf71472a14bb7beb75c469f32db'/>
<id>eeca7893949a6bf71472a14bb7beb75c469f32db</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add Store.Upsert()</title>
<updated>2026-04-24T14:10:09+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-24T14:08:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=5954b420d2acff038a79aa0e09d2ba3ab8dc37a9'/>
<id>5954b420d2acff038a79aa0e09d2ba3ab8dc37a9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>remove support for SQL dialects that rely on LastInsertId()</title>
<updated>2026-04-24T13:41:00+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-24T13:41:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=027641ef9efec9ed5dfc463d9c2f38c32716d9b5'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>change Store.Insert() to take arguments by pointer</title>
<updated>2026-04-19T12:25:13+00:00</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-19T12:25:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=e4c744843e740e74b824c43950b1961736ccb8ad'/>
<id>e4c744843e740e74b824c43950b1961736ccb8ad</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
</feed>
