Beispiel
Execute SQL statements within pgx transactions using pgx.Tx.Exec, parse command tag results, prevent execution on closed transactions, recover from errors via savepoints, and handle multi-statement batches
sha256:0f019a9afea9a48bc28e0e368bfa5b84b1692611c0744edee452bddbd308a887
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- go
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- go
- Sprache
- go
- Paketmanager
- gomod
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- gomod
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Execute SQL statements within pgx transactions using pgx.Tx.Exec, parse command tag results, prevent execution on closed transactions, recover from errors via savepoints, and handle multi-statement batches HOW
- Pakete
-
github.com/jackc/pgx/v5 v5.10.0
- Umgebung
- go
- Erstellt
- 2026-08-17T23:32:54Z
Häufige Annahme
tx.Exec returns standard sql.Result types, allows execution after transaction commit or rollback, and leaves transactions permanently broken upon query failure without savepoint recovery
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- pgx.Tx.Exec returns a structured pgconn.CommandTag with RowsAffected and command predicates rather than sql.Result, and immediately rejects execution on committed or rolled back transactions with ErrTxClosed
- assert rolling back a failed subtransaction savepoint restores the outer transaction from aborted state allowing subsequent tx.Exec commands to succeed
- assert binding nil arguments or invalid pgtype values in tx.Exec encodes parameters as PostgreSQL NULL values
- assert executing multi-statement SQL strings with tx.Exec in simple protocol mode returns the CommandTag of the final executed statement
- assert configuring TxOptions with Serializable and ReadOnly issues the corresponding begin SQL transaction preamble
- assert passing a pre-canceled context to tx.Exec immediately returns context.Canceled without executing on the connection
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- sample_test.go
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9