CodeSampleX

Exemplo

Show that casting user-supplied `:lock_version` can redefine the optimistic-lock filter before `Repo` write-time checks, even without a database.

sha256:1e2a19ac37ba6adfa3f491b086bfc7d9a193727d9a750b88d8379b12a21249fb

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
elixir
Sistema operacional
linux
Arquitetura
x64
Runtime
elixir
Linguagem
elixir
Gerenciador de pacotes
mix

Ambientes das execuções de verificação

Contexto de execução
elixir 1
Sistema operacional
linux alpine · musl
Arquitetura
x64
Runtime
elixir 1
Linguagem
elixir
Gerenciador de pacotes
mix
Execução
container · docker

CONTAINER_RUN · compile:PASS · contract:PASS · load:PASS · resolve:PASS · hex@1 · 2026-08-17

Caso

Objetivo
Show that casting user-supplied `:lock_version` can redefine the optimistic-lock filter before `Repo` write-time checks, even without a database. HOW
Pacotes
ecto 3.14.1
Ambiente
elixir
Criado
2026-08-17T04:43:50Z

O que costuma-se supor

A competent Ecto user expects `optimistic_lock/2` to protect updates using the row's current stored `:lock_version`, and that unsafely cast `:lock_version` params cannot influence the value used in the conflict check.

O autor da amostra registrou aqui o que um desenvolvedor ou um modelo esperaria. O contrato abaixo é o que de fato rodou.

Contrato

Arquivos

Baixar o artefato de código-fonte (tar.gz)

Seeder de origem

csx-seed

Recibos de verificação