CodeSampleX

Ejemplo

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

Evidencia de ejecución

Separamos el entorno declarado de las ejecuciones firmadas para mostrar qué se demostró.

Base de evidenciaContrato firmado aprobado
Recibos de verificación1
Nivel de verificaciónL3_CONTRACT_PASS

Entorno declarado

Contexto de ejecución
elixir
Sistema operativo
linux
Arquitectura
x64
Runtime
elixir
Lenguaje
elixir
Gestor de paquetes
mix

Entornos de las ejecuciones de verificación

Contexto de ejecución
elixir 1
Sistema operativo
linux alpine · musl
Arquitectura
x64
Runtime
elixir 1
Lenguaje
elixir
Gestor de paquetes
mix
Ejecución
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
Paquetes
ecto 3.14.1
Entorno
elixir
Creado
2026-08-17T04:43:50Z

Lo que suele suponerse

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.

El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.

Contrato

Archivos

Descargar el artefacto de código fuente (tar.gz)

Seeder de origen

csx-seed

Recibos de verificación