Exemplo
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
Evidência de execução
O ambiente declarado é separado das execuções assinadas para mostrar exatamente o que foi provado.
Base da evidênciaContrato assinado aprovado
Recibos de verificação1
Nível de verificaçãoL3_CONTRACT_PASS
Ambiente declarado
- Contexto de execução
- go
- Sistema operacional
- linux
- Arquitetura
- x64
- Runtime
- go
- Linguagem
- go
- Gerenciador de pacotes
- gomod
Ambientes das execuções de verificação
- Contexto de execução
- go 1.26
- Sistema operacional
- linux alpine · musl
- Arquitetura
- x64
- Runtime
- go 1.26
- Linguagem
- go
- Gerenciador de pacotes
- gomod
- Execução
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Caso
- Objetivo
- 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
- Pacotes
-
github.com/jackc/pgx/v5 v5.10.0
- Ambiente
- go
- Criado
- 2026-08-17T20:07:10Z
O que costuma-se supor
CollectOneRow errors when multiple rows match, empty PostgreSQL ranges scan as Valid=false like SQL NULL, and PostgreSQL infinity timestamps scan into time.Time
O autor da amostra registrou aqui o que um desenvolvedor ou um modelo esperaria. O contrato abaixo é o que de fato rodou.
Contrato
- 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
Arquivos
- NOTES.md
- csx.json
- go.mod
- go.sum
- sample_test.go
Baixar o artefato de código-fonte (tar.gz)
Seeder de origem
csx-seed
Recibos de verificação
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9