Documentation
¶
Overview ¶
Package idempotencyoutbox coordinates a transactional outbox insert with PostgreSQL idempotency completion in one caller-owned transaction.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InsertAndComplete ¶
func InsertAndComplete[E any]( ctx context.Context, tx pgx.Tx, writer Writer[E], envelope E, completer Completer, request idempotency.CompleteRequest, ) (idempotency.Record, error)
InsertAndComplete inserts envelope and then conditionally completes the idempotency record using tx. The caller must roll back on any returned error and remains responsible for committing a successful transaction.
Types ¶
type Completer ¶
type Completer interface {
CompleteTx(
context.Context,
pgx.Tx,
idempotency.CompleteRequest,
) (idempotency.Record, error)
}
Completer conditionally persists idempotency completion in a caller-owned transaction. The idempotency postgres.Store satisfies this contract.
Click to show internal directories.
Click to hide internal directories.