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.
This commit is contained in:
Yorhel 2025-02-07 18:30:33 +01:00
parent 8f94dd0921
commit 166744dd51
7 changed files with 335 additions and 186 deletions

View file

@ -3,7 +3,9 @@
typedef void (*fupg_send_fn)(pTHX_ SV *, fustr *, void *);
/* Receive function, takes a binary string and should return a Perl value.
* libpq guarantees that the given buffer is aligned to MAXIMUM_ALIGNOF. */
* libpq guarantees that the given buffer is aligned to MAXIMUM_ALIGNOF.
* For fixed-length types, the recv function is only called after verifying
* that the input buffer has the correct length. */
typedef SV *(*fupg_recv_fn)(pTHX_ const char *, int, void *);
typedef struct {