Beispiel
Differentiate CollectOneRow and CollectExactlyOneRow cardinality enforcement, distinguish empty PostgreSQL ranges from SQL NULL in pgtype.Range, decode infinity timestamps into pgtype.Timestamptz without time.Time failure, and verify nested savepoint transaction lifecycle
sha256:39b6a8729d5dbe2e91f27c744a4aad5510b74b605fdc30802740b9db2bbea784
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
- Differentiate CollectOneRow and CollectExactlyOneRow cardinality enforcement, distinguish empty PostgreSQL ranges from SQL NULL in pgtype.Range, decode infinity timestamps into pgtype.Timestamptz without time.Time failure, and verify nested savepoint transaction lifecycle HOW
- Pakete
-
github.com/jackc/pgx/v5 v5.10.0
- Umgebung
- go
- Erstellt
- 2026-08-17T20:07:10Z
Häufige Annahme
CollectOneRow errors when multiple rows match, empty PostgreSQL ranges scan as Valid=false like SQL NULL, and PostgreSQL infinity timestamps scan into time.Time
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
- CollectOneRow consumes the first row without error on multi-row results whereas CollectExactlyOneRow rejects multiple rows with ErrTooManyRows
- assert empty PostgreSQL ranges parse as Valid=true with Empty bound types whereas SQL NULL ranges parse as Valid=false
- assert scanning PostgreSQL infinity or -infinity timestamps into time.Time fails whereas pgtype.Timestamptz and pgtype.Timestamp record InfinityModifier
- assert pgtype.Interval preserves calendar Months, Days, and Microseconds as distinct components
- assert pgtype.Bits stores bit length and MSB-aligned byte representations
- assert nested tx.Begin subtransactions execute savepoint, rollback to savepoint, and release savepoint commands leaving outer transaction intact
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