Commit graph

10 commits

Author SHA1 Message Date
Yorhel
7f1c48e0cf pg: Add send/recv support for a few more easy types 2025-02-08 14:03:35 +01:00
Yorhel
166744dd51 pg: Rework txn implementation + statement config API
I liked the Perl implementation of transactions, but managing state
between Perl and C is a bit cumbersome, so I've moved the whole thing
into C.

Also added a few statement configuration methods that currently don't do
anything yet.
2025-02-07 18:30:36 +01:00
Yorhel
7c8473533d pg: More verbose error traces
Partly because some errors currently appeared to come from within FU::PG
itself, which is useless, and partly because it's common to wrap
database access methods, while that's exactly the kind of operation
where you *really* want to know where the error originated from.

(Source: too much time wasted debugging VNDB errors)
2025-02-07 11:06:56 +01:00
Yorhel
96aee880ce pg: ->disconnect() and docs 2025-02-07 10:49:47 +01:00
Yorhel
171afc0268 pg: Add transaction & subtransaction support
Was expecting the implementation of this to get overly complicated and
brittle, but using a counter-based cookie and doing parts of it in Perl
made it pretty easy actually.  Pretty happy with how this turned out so
far.

TODO: documentation -.-
2025-02-06 19:12:52 +01:00
Yorhel
9d5905e3b4 pg: Add a few result fetching methods
I'm not sure if these are free from memory leaks, need to find a way to
test for that.
2025-02-06 13:38:07 +01:00
Yorhel
711300b227 pg: Statement execution + better error reporting 2025-02-06 09:05:05 +01:00
Yorhel
922f19e39b pg: Some initial documentation 2025-02-05 14:18:01 +01:00
Yorhel
c51b5f3598 pg: Better error reporting + basic exec() method 2025-02-03 16:59:18 +01:00
Yorhel
b242176071 pg: Adventures in writing a new postgresql client 2025-02-02 16:22:15 +01:00